Charts CI

```
Updated:
  external-secrets/external-secrets:
    - 0.9.19
  gopaddle/gopaddle:
    - 5
  speedscale/speedscale-operator:
    - 2.2.0
```
pull/1023/head
github-actions[bot] 2024-06-05 00:55:55 +00:00
parent f449e00a88
commit b200b02aed
307 changed files with 155 additions and 34785 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -4,7 +4,7 @@ annotations:
catalog.cattle.io/kube-version: '>= 1.19.0-0' catalog.cattle.io/kube-version: '>= 1.19.0-0'
catalog.cattle.io/release-name: external-secrets catalog.cattle.io/release-name: external-secrets
apiVersion: v2 apiVersion: v2
appVersion: v0.9.18 appVersion: v0.9.19
description: External secret management for Kubernetes description: External secret management for Kubernetes
home: https://github.com/external-secrets/external-secrets home: https://github.com/external-secrets/external-secrets
icon: https://raw.githubusercontent.com/external-secrets/external-secrets/main/assets/eso-logo-large.png icon: https://raw.githubusercontent.com/external-secrets/external-secrets/main/assets/eso-logo-large.png
@ -17,4 +17,4 @@ maintainers:
name: mcavoyk name: mcavoyk
name: external-secrets name: external-secrets
type: application type: application
version: 0.9.18 version: 0.9.19

View File

@ -4,7 +4,7 @@
[//]: # (README.md generated by gotmpl. DO NOT EDIT.) [//]: # (README.md generated by gotmpl. DO NOT EDIT.)
![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![Version: 0.9.18](https://img.shields.io/badge/Version-0.9.18-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![Version: 0.9.19](https://img.shields.io/badge/Version-0.9.19-informational?style=flat-square)
External secret management for Kubernetes External secret management for Kubernetes

View File

@ -250,10 +250,15 @@ spec:
description: Binding represents a servicebinding.io Provisioned Service reference to the secret description: Binding represents a servicebinding.io Provisioned Service reference to the secret
properties: properties:
name: name:
default: ""
description: |- description: |-
Name of the referent. Name of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid? TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
type: string type: string
type: object type: object
x-kubernetes-map-type: atomic x-kubernetes-map-type: atomic
@ -756,10 +761,15 @@ spec:
description: Binding represents a servicebinding.io Provisioned Service reference to the secret description: Binding represents a servicebinding.io Provisioned Service reference to the secret
properties: properties:
name: name:
default: ""
description: |- description: |-
Name of the referent. Name of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid? TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
type: string type: string
type: object type: object
x-kubernetes-map-type: atomic x-kubernetes-map-type: atomic

Binary file not shown.

View File

@ -1,35 +1,19 @@
annotations: annotations:
artifacthub.io/changes: |-
- kind: added
description: Docker Compose based installer for Docker Desktop extension
- kind: changed
description: Docker Image size optimization for faster installation
- kind: added
description: Gitlab person access token support added
- kind: changed
description: EKS cluster create - UX improvements for Master role ARN, Node role ARN & ALB role
catalog.cattle.io/certified: partner catalog.cattle.io/certified: partner
catalog.cattle.io/display-name: gopaddle catalog.cattle.io/display-name: gopaddle
catalog.cattle.io/kube-version: '>=1.21-0' catalog.cattle.io/kube-version: '>=1.21-0'
catalog.cattle.io/namespace: gopaddle catalog.cattle.io/namespace: gopaddle
catalog.cattle.io/release-name: gopaddle catalog.cattle.io/release-name: gopaddle
apiVersion: v2 apiVersion: v2
appVersion: 4.2.9 appVersion: "5"
dependencies: description: Kubernetes IDE with AI Co-pilot
- condition: global.installer.chart.gp-core
name: gp-core
repository: file://./charts/gp-core
- condition: global.installer.chart.rabbitmq
name: gp-rabbitmq
repository: file://./charts/gp-rabbitmq
description: Simple low-code platform for Kubernetes developers and operators
home: https://gopaddle.io home: https://gopaddle.io
icon: https://gopaddle-marketing.s3.ap-southeast-2.amazonaws.com/gopaddle.png icon: https://gopaddle-marketing.s3.ap-southeast-2.amazonaws.com/gopaddle.png
keywords: keywords:
- low-code - low-code
- Internal Developer Platform - IDE
- PaaS - Co-pilot
- Community Edition - GenAI
kubeVersion: '>=1.21-0' kubeVersion: '>=1.21-0'
name: gopaddle name: gopaddle
version: 4.2.9 version: "5"

View File

@ -1,176 +0,0 @@
<img alt="gopaddle" src="https://gopaddle-marketing.s3.ap-southeast-2.amazonaws.com/gopaddle.png?s=200&v=4" width="200" align="left">
# [gopaddle](https://gopaddle.io/)
## Simplest DevSecOps platform for Kubernetes developers and operators.
gopaddle is a simple low-code Internal Developer Platform (IDP) for Kubernetes developers and operators. Using gopaddle, developers can generate everything they need to set up Kubernetes infrastructure on multiple cloud environments and deployment applications with ease. From Dockerfiles to Kubernetes YAML files, Helm Charts, and pipeline code, gopaddle will help containerize and get the applications running in minutes. Developers can also efficiently manage existing applications on the Kubernetes cluster by monitoring the application performance and setting alerts and notificications.
<br>
## gopaddle Lite
gopaddle Lite is a life-time free community edition of gopaddle that can be installed in a single node/single user mode on a Kubernetes cluster. gopaddle lite comes with many capabilities that helps developers to built a self-service portal for a small scale Kubernetes deployment at zero cost. gopaddle Lite is available on a variety of marketplaces like microk8s add-on, SUSE Rancher Prime, ArtifactHub and many more.
[![Artifact Hub](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/gopaddle-lite)](https://artifacthub.io/packages/search?repo=gopaddle-lite)
[![Slack Channel](https://img.shields.io/badge/Slack-Join-purple)](https://gopaddleio.slack.com/join/shared_invite/zt-1l73p8wfo-vYk1XcbLAZMo9wcV_AChvg#/shared-invite/email/expanded-email-form)
[![Twitter](https://img.shields.io/twitter/follow/gopaddleio?style=social)](https://twitter.com/gopaddleio)
[![YouTube Channel](https://img.shields.io/badge/YouTube-Subscribe-red)](https://www.youtube.com/channel/UCtbfM3vjjJJBAka8DCzKKYg)
<br><br>
## Installation
### Minimum System Requirements
gopaddle installation requires a minimum of `8GB RAM` and `4 vCPUs`
### Firewall Ports
The following incoming firewall ports need to be opened - `30003`, `30004`, `30006`, `32000` and any port that is needed for nodeport based application deployment.
### Step to install using Helm Charts
Add the helm repo
```sh
helm repo add gopaddle https://gopaddle-io.github.io/gopaddle-lite/
helm repo update
```
Install the chart
```sh
helm install gp-lite gopaddle/gopaddle --namespace gp-lite-4-2 --create-namespace
```
### Validating the installation
gopaddle installation can be validated by waiting for the gopaddle services to move to `ready` state.
```sh
root@localhost:~# kubectl wait --for=condition=ready pod -l released-by=gopaddle -n gp-lite-4-2 --timeout=15m
pod/webhook-7c49ddfb78-ssvcz condition met
pod/mongodb-0 condition met
pod/esearch-0 condition met
pod/deploymentmanager-65897c7b9c-qlgk8 condition met
pod/appworker-8546598fd-7svzv condition met
pod/influxdb-0 condition met
pod/costmanager-6496dfd6c4-npqj8 condition met
pod/rabbitmq-0 condition met
pod/gpcore-85c7c6f65b-5vfmh condition met
```
One the installation is complete, gopaddle dashboard can be accessed at http://[NodeIP]:30003/
NodeIP can be obtained by executing the command below:
```sh
root@localhost:~# kubectl get nodes -o wide
```
## microk8s addon for gopaddle lite
The microk8s addon for gopaddle community (lite) edition uses this helm
repository for helm-based installation of gopaddle-lite.
For documentation specific to microk8s addon for gopaddle community (lite)
edition, see:
https://help.gopaddle.io/en/articles/6654354-install-gopaddle-lite-microk8s-addon-on-ubuntu
## gopaddle lite on SUSE Rancher Prime
gopaddle Lite can be easily installed by choosing the gopaddle chart from the Rancher Prime marketplace place.
For documentation specific to installing gopaddle community (lite) edition on Rancher Prime, see:
https://help.gopaddle.io/en/articles/6977654-install-gopaddle-lite-on-suse-rancher-prime
## Getting started with gopaddle
Once the gopaddle lite dashboard is available, developers can open the gopaddle dashboard in the browser, review the evaluation agreement and subscribe to the lite edition.
<img width="865" alt="gp-evaluation-agreement" src="https://user-images.githubusercontent.com/74309181/205760559-478ebb58-d1fd-4517-ba1f-5710ed9694c6.png">
### Containerize and Deploy
Once the subscription is complete, developers can login to the gopaddle console, using their email ID and the initial password.
In the main dashboard, the **Containerize and Deploy** Quickstart wizard helps to onboard a Source Code project from GitHub using the GitHub personal access token, build and push the generated container image to the Docker Registry. Once the build completes, gopaddle generates the necessary YAML files and deploys the docker image to the local microk8s cluster.
<img width="1392" alt="gp-quickstart-wizards" src="https://user-images.githubusercontent.com/74309181/205762236-3ade6aaa-bfeb-40c5-8996-c68eed4126cf.png">
#### Pre-requisites
[Docker Access Token with Read & Write Permissions](https://www.docker.com/blog/docker-hub-new-personal-access-tokens/)
[GitHub Person Access Token for containerizing Private Repositories](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)
In the final step of the Containerize and Deploy Quickstart wizard, enable the option to **Disable TLS verification**.
<img width="1409" alt="containerize-deploy-quickstart" src="https://user-images.githubusercontent.com/74309181/205758353-7ce833e6-e493-4680-b7e9-a04f43e541ff.png">
All the artificats generated during the process can be edited and re-deployed at a later stage.
## Features
## 1\. DevOps Dashboard
The main dashboard gives a bird's eye view of the clusters, volumes, applications, events and projects imported and managed by gopaddle.
![DevOps Dashboard](<https://gopaddle-marketing.s3.ap-southeast-2.amazonaws.com/docker-desktop-screenshots/gp-dashboard.png>)
## 2\. Builds & Vulnerabilities
The builds and vulnerabilities dashboard captures the status of the Docker builds and the severity of the vulnerabilities identified in the builds.
![Builds & Vulnerabilities](<https://gopaddle-marketing.s3.ap-southeast-2.amazonaws.com/docker-desktop-screenshots/gp-devops-dashboard.png>)
## 3\. Quick start wizards
gopaddle offers 3 type of quick start wizards -
**1\. Provision Clusters** \- Onboard GKE or AWS cloud accounts with fine grained access controls and provision multi-cloud Kubernetes cluster. Available only in SaaS & Enterprise Editions.
**2\. Dockerize & Deploy** \- Automatically generate Dockerfiles and Kubernetes YAML files by analyzing the source code in GitHub or GitLab accounts and deploy them on to Kubernetes clusters.
**3\.Generate Pipeline code** \- Generate Jenkins or GitHub Actions or Azure DevOps pipeline Code for an application deployed through gopaddle.
![Quickstart Wizards](<https://gopaddle-marketing.s3.ap-southeast-2.amazonaws.com/docker-desktop-screenshots/quick-start-wizards.png>)
## 4\. Marketplace
Subscribe to a gopaddle marketplace application, and visualize the helm chart in the design studio. These templates can be launched on a Kubernetes cluster using simple UI based wizards.
![Marketplace](<https://gopaddle-marketing.s3.ap-southeast-2.amazonaws.com/docker-desktop-screenshots/gp-marketplace.png>)
## 5\. Cluster Management
Clusters can be centrally managed. gopaddle automatically installs a few addons on these clusters - like Prometheus and Grafana for an out-of-the-box monitoring and alerting capabilties.
![Cluster Management](<https://gopaddle-marketing.s3.ap-southeast-2.amazonaws.com/docker-desktop-screenshots/gp-cluster.png>)
## 6\. Designer Studio
Design Studio provides a visual representation of the Kubernetes resources and helps to quickly design and compose Kubernetes resources without having to learn YAML.
![Designer Studio](<https://gopaddle-marketing.s3.ap-southeast-2.amazonaws.com/docker-desktop-screenshots/gp-designstudio.png>)
## 7\. Application Management
Centrally monitor the existing Kubernetes deployments.
![Application Management](<https://gopaddle-marketing.s3.ap-southeast-2.amazonaws.com/docker-desktop-screenshots/gp-app-dashboard.png>)
## 8\. Alerts & Notifications
Set alerts and notifications for the applications and clusters managed by gopaddle. gopaddle supports any type of incoming webhooks, slack, AWS SNS, Jenkins Jobs and PagerDuty as notification channel.
![Alerts & Notifications](<https://gopaddle-marketing.s3.ap-southeast-2.amazonaws.com/docker-desktop-screenshots/gp-alerts-notifications.png>)
## 9\. Developer Tools - Container Terminal
Easily troubleshoot issues in deployments using inbuilt developer tools like Container terminal without having to use Kubectl commands.
![Container Terminal](<https://gopaddle-marketing.s3.ap-southeast-2.amazonaws.com/docker-desktop-screenshots/gp-devtools-1.png>)
## 10\. Developer Tools - Container Logs
Easily troubleshoot issues in deployments using inbuilt developer tools like Container logs without having to use Kubectl commands.
![Container Logs](<https://gopaddle-marketing.s3.ap-southeast-2.amazonaws.com/docker-desktop-screenshots/gp-devtools-2.png>)
## Help
For help related to gopaddle community (lite) edition, visit the gopaddle Help Center at: https://help.gopaddle.io

View File

@ -1,6 +0,0 @@
apiVersion: v2
appVersion: 4.2.9
description: A Helm chart for Kubernetes
name: gp-core
type: application
version: 4.2.9

View File

@ -1,26 +0,0 @@
{
"all":{
"ACTIVITY_NOTFOUND":"Resource '%s' does not exist",
"SOMETHING_WRONG": "Internal Error",
"INPUT_PAYLOAD_ERROR":"Input payload have error: %s",
"INTERNAL_DB_COPY": "Could not format response from database object.",
"GEN_UNMARSHAL_ERROR":"Error in unmarshal '%s'",
"STRING_TO_INT_ERROR":"Error in converting string to int '%s'",
"FIELD_VALIDATION":"InvalidValidationError '%s'",
"MARSHAL_ERROR":"Error in marshaling '%s'",
"INVALID_VALUE":"Invalid input for field '%s'",
"INVALID_TYPE":"Invalid input type for '%s'",
"INPUT_MISMATCH":"Given input JSON structure is mismatched",
"KEY_NOT_FOUND":" '%s' Key not found in Json",
"VALUE_NOT_FOUND":" '%s' Value not found in Json",
"UNSUPPORTED": "Given %s is not supported",
"NOUNREAD_MSG":"unRead Messages are not there to update",
"INVALID_A_FMT":"Requesting Activity is in invalid format '%s'",
"PAGESIZE_NEGAVE":"Page or Size can not be negative number { '%d', '%d' }",
"PPAGE_LIMIT":"Requesting invalid page '%d'; Page should be less than '%d'",
"PSIZE_LIMIT":"Requesting invalid size '%d' Page should be less than '%d'"
},
"gpctl":{
"GPCTL_NOTFOUNT":"resource '%s' does not exist"
}
}

View File

@ -1,24 +0,0 @@
{
"allAPI":{
"readUserByID":"api/%s/user?organizationID=%s",
"readRuleByID":"api-internal/%s/v1/%s/rule/%s",
"triggerNotificationByID":"api-internal/%s/v1/%s/notification/%s",
"readBilling":"api/%s/v1/billing"
},
"acl":{
"url":"http://%s:%s/api-in/%s/v1/acl?userid=%s&project=%s",
"port":"8005"
},
"aclProject":{
"url":"http://%s:%s/api-in/%s/v1/acl?project=%s",
"port":"8005"
},
"nonrootuser":{
"url":"http://%s:%s/api-in/%s/v1/subusers/%s",
"port":"8005"
},
"project":{
"url":"http://%s:%s/api-internal/%s/v1/projectlist",
"port":"8005"
}
}

View File

@ -1,29 +0,0 @@
{
"formatters": {
"appForce": {
"format": "%(asctime)s %(levelname)s (%(filename)s:%(lineno)d) %(message)s",
"datefmt": "%Y-%m-%d %H:%M:%S"
}
},
"handlers": {
"appForce": {
"class": "RotatingFileHandler",
"filepath": "./appForce.log",
"mode": "O_APPEND",
"bufferSize": 0,
"bufferFlushTime": 30000,
"inputChanSize": 1,
"maxBytes": 104857600,
"backupCount": 9,
"formatter": "appForce"
}
},
"loggers": {
"appForce": {
"level": "DEBUG",
"handlers": [
"appForce"
]
}
}
}

View File

@ -1,53 +0,0 @@
{
"formatters": {
"deploymentmanager": {
"format": "%(asctime)s %(levelname)s (%(filename)s:%(lineno)d) %(message)s",
"datefmt": "%Y-%m-%d %H:%M:%S"
}
},
"handlers": {
"deploymentmanager": {
"class": "RotatingFileHandler",
"filepath": "./deploymentmanager.log",
"mode": "O_APPEND",
"bufferSize": 0,
"bufferFlushTime": 30000,
"inputChanSize": 1,
"maxBytes": 104857600,
"backupCount": 9,
"formatter": "deploymentmanager"
}
},
"loggers": {
"debug": {
"level": "DEBUG",
"handlers": [
"deploymentmanager"
]
},
"info": {
"level": "INFO",
"handlers": [
"deploymentmanager"
]
},
"warn": {
"level": "WARN",
"handlers": [
"deploymentmanager"
]
},
"error": {
"level": "ERROR",
"handlers": [
"deploymentmanager"
]
},
"fatal": {
"level": "FATAL",
"handlers": [
"deploymentmanager"
]
}
}
}

View File

@ -1,30 +0,0 @@
{
"mongodb":{
"db-name":"activity",
"db-endpoint":[
"mongodb:27017"
],
"db-port":"27017",
"user-db":"admin",
"db-user":"admin",
"db-password":"cGFzc3dvcmQ"
},
"redis":{
"redis-endpoint":"redis",
"redis-port":"6379",
"redis-password":"avraj"
},
"rabbitmq":{
"mq-protocol":"amqp",
"mq-user":"admin",
"mq-password":"cGFzc3dvcmQ",
"mq-ip":"rabbitmq",
"mq-port":"5672",
"mq-activity-host": "/activity",
"mq-activity-queue": "activity-worker-queue",
"mq-exchange-name":"activity",
"mq-exchange-type":"fanout",
"mq-activity-queue-containerLimit":"activity-containerLimit",
"mq-activity-queue-serviceLimit":"activity-serviceLimit"
}
}

View File

@ -1,38 +0,0 @@
{
"core.ep": {
"host": "gpcore",
"port": "8759"
},
"configmanager.ep": {
"host": "configmanager",
"port": "8001"
},
"deploymentmanager.ep": {
"host": "deploymentmanager",
"port": "8003"
},
"user.ep": {
"host": "usermanager",
"port": "8005"
},
"alertmanager.ep":{
"host": "alertmanager",
"port": "8012"
},
"nodechecker.ep":{
"host": "nodechecker",
"port": "8020"
},
"usermanager.ep": {
"host": "usermanager",
"port": "8005"
},
"costmanager.ep":{
"host":"costmanager",
"port":"8011"
},
"notification.ep":{
"host":"activitymanager",
"port":"8009"
}
}

View File

@ -1,47 +0,0 @@
{
"all":{
"DATA_PERSISTANCE":"Internal Error; (Failed to store data)",
"DATA_RETRIVE":"Internal Error; (Failed to retrive data)",
"INTERNAL_SERVER":"Internal Error; Unable to communicate with internal-server",
"INTERNAL_SERVER_ERROR":"Internal Error; Try after sometime",
"RESOURCE_NOT_FOUND":"Resource '%s' does not exist",
"ERROR_HITTING_EXT_API":"Unable to communicate with external resources",
"SOMETHING_WRONG": "Internal Error",
"INTERNAL_DB_COPY": "Could not format response from database object.",
"INPUT_PAYLOAD_ERROR":"Input payload have error: %s",
"GEN_UNMARSHAL_ERROR":"Error in unmarshal '%s'",
"STRING_TO_INT_ERROR":"Error in converting string to int '%s'",
"FIELD_VALIDATION":"InvalidValidationError '%s'",
"MARSHAL_ERROR":"Error in marshaling '%s'",
"ALREADY_EXIST":"'%s' already exists",
"MISSING_FIELD":"Invalid input or missing mandatory field '%s'",
"MISSING_FIELD_INSIDE":"Invalid input or missing mandatory field '%s' inside '%s'",
"INVALID_VALUE":"Invalid input for field '%s'",
"INVALID_TYPE":"Invalid input type for '%s'",
"INPUT_MISMATCH":"Given input JSON structure is mismatched",
"KEY_NOT_FOUND":" '%s' Key not found in Json",
"VALUE_NOT_FOUND":" '%s' Value not found in Json",
"UNSUPPORTED": "Given %s is not supported",
"UNMARSHAL_ERROR":"The field '%s' is a '%s' type, but the given value is '%s' type",
"UNKNOWN_UNMARSHAL_ERROR":"The expected type is a '%s', but the given value is '%s' type",
"QUERY_PARAMETER_VALUE_MISMATCH":"Query Parameter '%s' value '%s' mismatch"
},
"notification":{
"PAGESIZE_NEGAVE":"Page or Size can not be negative number { '%d', '%d' }",
"PPAGE_LIMIT":"Requested invalid page '%d'; Page should be less than '%d'",
"PSIZE_LIMIT":"Requested invalid size '%d' Page should be less than '%d'",
"INVALID_NOTIFICATIONID_FMT": " '%s' NotificationID format is invalid",
"NOTIF_NOTFOUND": " '%s' notificationID is not found",
"INVALID_PAGERDUTY_SERVICE": "'%s' Invalid Service: '%s'",
"NOTIF_ALREADY_EXIST":"Requested notification '%s' already exists"
},
"rule":{
"INVALID_EVENT_STATE":"Resource State '%s' is invalid",
"RULE_NOTFOUND":"%s ruleID is not found",
"INVALID_RULEID_FMT":"Rule ID format is invalid",
"PAGESIZE_NEGAVE":"Page or Size can not be negative number { '%d', '%d' }",
"PPAGE_LIMIT":"Requested invalid page '%d'; Page should be less than '%d'",
"PSIZE_LIMIT":"Requested invalid size '%d' Page should be less than '%d'",
"RULE_ALREADY_EXIST":"Given rule name '%s' already used"
}
}

View File

@ -1,26 +0,0 @@
{
"allAPI":{
"readUserByID":"api/%s/user?organizationID=%s",
"readNotificationByID":"api/%s/v1/%s/notification/%s",
"updateAppDependencyRef":"api-internal/%s/v1/%s/application",
"updateServiceRules":"api-updateRule/%s/v1/%s/release/%s/distribution/%s/container",
"updateNotificationDependencyRef":"api-in/%s/v1/%s/notification/%s",
"updateCluster":"api-internal/%s/v1/%s/cluster"
},
"acl":{
"url":"http://%s:%s/api-in/%s/v1/acl?userid=%s&project=%s",
"port":"8005"
},
"aclProject":{
"url":"http://%s:%s/api-in/%s/v1/acl?project=%s",
"port":"8005"
},
"nonrootuser":{
"url":"http://%s:%s/api-in/%s/v1/subusers/%s",
"port":"8005"
},
"project":{
"url":"http://%s:%s/api-internal/%s/v1/projectlist",
"port":"8005"
}
}

View File

@ -1,23 +0,0 @@
{
"mongodb":{
"db-name":"alertmanager",
"db-endpoint":[
"mongodb:27017"
],
"db-port":"27017",
"user-db":"admin",
"db-user":"admin",
"db-password":"cGFzc3dvcmQ"
},
"alerturl":{
"msgurl":"NODE_IP"
},
"redis":{
"redis-endpoint":"redis",
"redis-port":"6379",
"redis-password":"avraj"
},
"gopaddleDefaultMessage":{
"smsTestingDefaultMessage":"Notification SMS"
}
}

View File

@ -1,38 +0,0 @@
{
"alertmanager.ep": {
"host": "configmanager",
"port": "8001"
},
"notification.ep": {
"host":"alertmanager",
"port":"8012"
},
"deploymentManager.ep": {
"host": "deploymentmanager",
"port": "8003"
},
"builder.ep": {
"host": "gpcore",
"port": "8759"
},
"nodechecker.ep": {
"host":"nodechecker",
"port":"8020"
},
"configmanager.ep": {
"host":"configmanager",
"port":"8001"
},
"clustermanager.ep": {
"host": "clustermanager",
"port": "8013"
},
"usermanager.ep":{
"host":"usermanager",
"port":"8005"
},
"gpcore.ep":{
"host":"gpcore",
"port":"8759"
}
}

View File

@ -1,44 +0,0 @@
{
"all":{
"DATA_PERSISTANCE":"Internal Error; (Failed to store data)",
"DATA_RETRIVE":"Internal Error; (Failed to retrive data)",
"INTERNAL_SERVER":"Internal Error; Unable to communicate with internal-server",
"INTERNAL_SERVER_ERROR":"Internal Error; Try after sometime",
"RESOURCE_NOT_FOUND":"Resource '%s' does not exist",
"ERROR_HITTING_EXT_API":"Unable to communicate with external resources",
"ALREADY_EXIST":"'%s' already exists",
"MISSING_FIELD":"Invalid input or missing mandatory field '%s'",
"MISSING_FIELD_INSIDE":"Invalid input or missing mandatory field '%s' inside '%s'",
"INVALID_VALUE":"Invalid input for field '%s'",
"INVALID_TYPE":"Invalid input type for '%s'",
"INPUT_MISMATCH":"Given input JSON structure is mismatched",
"KEY_NOT_FOUND":" '%s' Key not found in Json",
"VALUE_NOT_FOUND":" '%s' Value not found in Json",
"UNSUPPORTED": "Given %s is not supported",
"UNMARSHAL_ERROR":"The field '%s' is a '%s' type, but the given value is '%s' type",
"UNKNOWN_UNMARSHAL_ERROR":"The expected type is a '%s', but the given value is '%s' type",
"SOMETHING_WRONG": "Internal Error",
"INTERNAL_DB_COPY": "Could not format response from database object.",
"GEN_UNMARSHAL_ERROR":"Error in unmarshal '%s'",
"STRING_TO_INT_ERROR":"Error in converting string to int '%s'",
"FIELD_VALIDATION":"InvalidValidationError '%s'",
"MARSHAL_ERROR":"Error in marshaling '%s'"
},
"All":{
"SOMETHING_WRONG": "Internal Error",
"PARSE_ERROR":"Failed to parse the request payload : %s",
"DIR_ERROR":"Failed to create a directory: %s",
"FILE_CREAT_ERROR":"Failed to create a file: %s",
"FILE_TAR_ERROR":"Failed to tar the file: %s",
"FILE_OPEN_ERROR":"Failed to open the file: %s",
"FILE_GZIP_ERROR":"Failed to gzip the file: %s"
},
"notification":{
"PAGESIZE_NEGAVE":"Page or Size can not be negative number { '%d', '%d' }",
"PPAGE_LIMIT":"Requested invalid page '%d'; Page should be less than '%d'",
"PSIZE_LIMIT":"Requested invalid size '%d' Page should be less than '%d'",
"NFC_NOTFOUND":"Requested notificaiton channel '%s' is not found",
"NFC_ALREADY_EXIST":"Requested notificaiton channel '%s' is already exist",
"INVALID_NOTIFICATIONID_FMT":"Requested notification id '%s' is invalid formate"
}
}

View File

@ -1,21 +0,0 @@
{
"allAPI":{
"readUserByID":"api/%s/user?organizationID=%s"
},
"acl":{
"url":"http://%s:%s/api-in/%s/v1/acl?userid=%s&project=%s",
"port":"8005"
},
"aclProject":{
"url":"http://%s:%s/api-in/%s/v1/acl?project=%s",
"port":"8005"
},
"nonrootuser":{
"url":"http://%s:%s/api-in/%s/v1/subusers/%s",
"port":"8005"
},
"project":{
"url":"http://%s:%s/api-internal/%s/v1/projectlist",
"port":"8005"
}
}

View File

@ -1,77 +0,0 @@
{
"mongodb":{
"db-name":"appscanner",
"db-endpoint":[
"mongodb:27017"
],
"db-port":"27017",
"user-db":"admin",
"db-user":"admin",
"db-password":"cGFzc3dvcmQ"
},
"redis":{
"redis-endpoint":"redis",
"redis-port":"6379",
"redis-password":"avraj"
},
"endpoints":{
"google_endpoints":{
"refresh_token":"https://www.googleapis.com/oauth2/v3/token",
"cluster_details":"https://console.developers.google.com/kubernetes/clusters/details"
},
"github":{
"endpoints":{
"host":"https://github.com",
"host_api":"https://api.github.com"
},
"saas_suffix":{
"access_token":"/login/oauth/access_token",
"user_data":"/user",
"create_repo":"/user/repos",
"getrepo":"/repos/:username/:reponame",
"getcommit":"/repos/:username/:reponame/commits",
"push_content":"/repos/:username/:reponame/contents/:path",
"tags":"/repos/:username/:reponame/tags",
"branches":"/repos/:username/:reponame/branches",
"listing_repos":"/user/repos",
"pull_tarball":"/repos/:username/:reponame/tarball",
"webhook":"/repos/:username/:reponame/hooks",
"webhook_get":"/repos/:username/:reponame/hooks/:hookID",
"Remove_Git_Webhook":"/repos/:username/:reponame/hooks/:hookID",
"Gettree":"/repos/:username/:reponame/git/trees/:tree_sha"
},
"onprem_suffix":{
"access_token":"/login/oauth/access_token",
"user_data":"/api/v3/user",
"tags":"/api/v3/repos/:username/:reponame/tags",
"getrepo":"/api/v3/repos/:username/:reponame",
"getcommit":"/api/v3/repos/:username/:reponame/commits",
"branches":"/api/v3/repos/:username/:reponame/branches",
"listing_repos":"/api/v3/user/repos",
"pull_tarball":"/api/v3/repos/:username/:reponame/tarball",
"webhook":"/api/v3/repos/:username/:reponame/hooks",
"webhook_get":"/api/v3/repos/:username/:reponame/hooks/:hookID",
"Remove_Git_Webhook":"/api/v3/repos/:username/:reponame/hooks/:hookID"
},
"urlvalidation":[
"https://:hostname/.*/(.*)\\.git",
"git@:hostname:.*/(.*)\\.git",
"https://:hostname/(.*)/.*\\.git",
"git@:hostname:(.*)/.*\\.git"
]
},
"github_endpoints":{
"access_token":"https://github.com/login/oauth/access_token",
"user_data":"https://api.github.com/user",
"create_repo":"https://api.github.com/user/repos",
"push_content":"https://api.github.com/repos/:username/:reponame/contents/:path",
"listing_tags":"https://api.github.com/repos/:username/:reponame/tags",
"listing_branches":"https://api.github.com/repos/:username/:reponame/branches",
"listing_repos":"https://api.github.com/user/repos",
"pull_tarball":"https://api.github.com/repos/:username/:reponame/tarball",
"webhook":"https://api.github.com/repos/:username/:reponame/hooks",
"webhook_get":"https://api.github.com/repos/:username/:reponame/hooks/:hookID",
"Remove_Git_Webhook":"https://api.github.com/repos/:username/:reponame/hooks/:hookID"
}
}
}

View File

@ -1,38 +0,0 @@
{
"configmanager.ep": {
"host": "configmanager",
"port": "8001"
},
"codebase.ep": {
"host": "gpcore",
"port": "8759"
},
"usermanager.ep":{
"host":"usermanager",
"port":"8005"
},
"deploymentmanager.ep": {
"host": "deploymentmanager",
"port": "8003"
},
"release.ep": {
"host": "gpcore",
"port": "8759"
},
"clustermanager.ep": {
"host": "clustermanager",
"port": "8013"
},
"cloudaccount.ep":{
"host":"cloudmanager",
"port":"8018"
},
"domainmanager.ep":{
"host":"domainmanager",
"port":"8004"
},
"notification.ep":{
"host":"activitymanager",
"port":"8009"
}
}

View File

@ -1,23 +0,0 @@
apiVersion: v2
name: HELM_CHART
description: DESCRIPTION
# A chart can be either an 'application' or a 'library' chart.
#
# Application charts are a collection of templates that can be packaged into versioned archives
# to be deployed.
#
# Library charts provide useful utilities or functions for the chart developer. They're included as
# a dependency of application charts to inject those utilities and functions into the rendering
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
type: application
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 1.0.0
# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using.
appVersion: APP_VERSION

View File

@ -1,72 +0,0 @@
{{- if eq (include "gen.clusterrole" .) "true" -}}
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: gopaddle:nginx-ingress-clusterrole
rules:
- apiGroups:
- ""
resources:
- configmaps
- endpoints
- nodes
- pods
- secrets
verbs:
- list
- watch
- apiGroups:
- ""
resources:
- nodes
verbs:
- get
- apiGroups:
- ""
resources:
- services
verbs:
- get
- list
- watch
- apiGroups:
- extensions
- networking.k8s.io
resources:
- ingresses
- ingressclasses
verbs:
- get
- list
- watch
- apiGroups:
- ""
resources:
- events
verbs:
- create
- patch
- apiGroups:
- extensions
- networking.k8s.io
resources:
- ingresses/status
- ingressclasses
verbs:
- update
- apiGroups:
- ""
resourceNames:
- ingress-controller-leader
resources:
- configmaps
verbs:
- get
- update
- apiGroups:
- ""
resources:
- configmaps
verbs:
- create
{{- end }}

View File

@ -1,246 +0,0 @@
{
"all":{
"DATA_PERSISTANCE":"Internal Error; (Failed to store data)",
"DATA_RETRIVE":"Internal Error; (Failed to retrive data)",
"INTERNAL_SERVER":"Internal Error; Unable to communicate with internal-server",
"INTERNAL_SERVER_ERROR":"Internal Error; Try after sometime",
"RESOURCE_NOT_FOUND":"Resource '%s' does not exist",
"RESOURCE_NOT_FOUND_WITHOUT_NAME":"Resource does not exit",
"ERROR_HITTING_EXT_API":"Unable to communicate with external resources",
"ALREADY_EXIST":"'%s' already exists",
"MISSING_FIELD":"Invalid input or missing mandatory field '%s'",
"MISSING_FIELD_INSIDE":"Invalid input or missing mandatory field '%s' inside '%s'",
"INVALID_VALUE":"Invalid input for field '%s'",
"INVALID_TYPE":"Invalid input type for '%s'",
"INPUT_MISMATCH":"Given input JSON structure is mismatched",
"KEY_NOT_FOUND":" '%s' Key not found in Json",
"VALUE_NOT_FOUND":" '%s' Value not found in Json",
"UNSUPPORTED": "Given %s is not supported",
"UNMARSHAL_ERROR":"The field '%s' is a '%s' type, but the given value is '%s' type",
"UNKNOWN_UNMARSHAL_ERROR":"The expected type is a '%s', but the given value is '%s' type",
"SERVICE_NOT_FOUND":"Template need Atleast one Service",
"DR_NOTFOUND":"Requested Dependency Reference '%s' is not found",
"CLUSTER_WIDE_DT_SERVICE_RESTRICTION":"Cluster Wide Deployment will have only one service",
"DEPENDENCY_EXIST_RESOURCE":"This Resource has dependency: '%s'",
"SOMETHING_WRONG": "Internal Error",
"INTERNAL_DB_COPY": "Could not format response from database object.",
"GEN_UNMARSHAL_ERROR":"Error in unmarshal '%s'",
"STRING_TO_INT_ERROR":"Error in converting string to int '%s'",
"FIELD_VALIDATION":"InvalidValidationError '%s'",
"MARSHAL_ERROR":"Error in marshaling '%s'",
"SCHEDULE_JOB":"Failed on scheduling job: '%s'",
"RESPONSE_FORMATTING":"Failed on formatting response: '%s'"
},
"daemonset": {
"NAMING_CONVENTION":"'%s' violates the naming convention for daemonset. Allowed names should match (^[a-z][a-z0-9-]*[a-z0-9]$)",
"DAEMONSET_NOT_FOUND": "Requested Daemonset '%s' is not found",
"SERVICE_NOT_FOUND": "Requested Service '%s' is not found",
"ALREADY_EXIST":"Given Daemonset name '%s' is already in use",
"EMPTY_NODES": "Requested cluster %s does not have healthy nodes to deploy the template",
"MISSING_NODES": "Failed to fetch nodes for the cluster '%s' to validate deployment process",
"DEPLOYMENT_TEMPLATE_NOT_FOUND": "Requested Deployment Template '%s' is not found",
"INVALID_ACCESS_TYPE": "Given access type '%s' is invalid",
"PORT_VALIDATION": "Requested port '%s' is already in use",
"ALTERNATIVE_PORT_MISSING": "Alternative port for '%s' under service '%s' is not provided in the request",
"EMPTY_ALTERNATIVE_PORT": "Request does not contain an alternative port for '%s' to expose",
"UNSUPPORTED_UPDATE_TYPE": "Requested service '%s' does not support update operation",
"VERSION_NOT_FOUND": "Requested version '%s' is not available under the service '%s'",
"VOLUME_ALREADY_USED": "Warning : Volume '%s' is already used by service '%s'. Data stored in the disk will be erased permanently",
"VOLUME_ALREADY_INUSE": "Volume '%s' is currently in use by service '%s'. Please select a different volume",
"VOLUME_NOT_AVAILABLE": "Volume '%s' is not available. Please select a different volume"
},
"deploymentTemplate":{
"DT_NOTFOUND":"Requesting DeploymentTemplate '%s' is not found",
"INVALID_PAYLOAD":"Given Payload is invalid: ",
"PAGESIZE_NEGAVE":"Page or Size can not be negative number { '%d', '%d' }",
"PPAGE_LIMIT":"Requested invalid page '%d'; Page should be less than '%d'",
"PSIZE_LIMIT":"Requested invalid size '%d' Page should be less than '%d'",
"INVALID_DEPLOYMENTTEMPLATEID_FMT":"Requested deploymentTemplate id is invalid format '%s'",
"DEPLOYMENTTEMPLATE_NOTFOUND":"Requested Deployment Template '%s' is not found",
"DEPLOYMENTTEMPLATE_ALREADY_EXIST":"Requested Deployment Template '%s' already exist",
"DEPLOYMENTTEMPLATEHIST_NOTFOUND":"Requested Deployment Template '%s' is not found",
"SERVICEGROUPNAME_ALREADY_EXIST":"Given ServiceGroup name '%s' already used",
"SERVICEGROUP_MIN_COUNT_DELETION_":"Service Group Deletion action can't be performed, Deployment Template need atleast only one Service Group",
"UPDATETYPE_MISSING":"UpdateType field missing",
"FIELD_MISSING":"Required Field Missing '%s'",
"SERVICEGROUPS_ARRAY_MISSING":"Service Groups []Object '%s' is missing",
"SERVICE_OBJECT_MISSING":"Service object '%s' is missing",
"SERVICEGROUP_NAME_NOT_FOUND":"Requested Deployment Template Service Group '%s' is not found",
"SERVICE_NAME_NOT_FOUND":"Requesting Deployment Template Service ID '%s' not found in Service Group '%s'",
"SERVICE_NAME_CANNOTBE_DUPLICATE":"In Service Group '%s' Encountered duplication values of service name '%s'",
"SERVICEGROUP_PORTS_CANNOTBE_DUPLICATE":"In Service Group '%s' Encountered duplication values of port '%d'",
"SERVICE_MIN_COUNT_DELETION_":"Service Deletion action can't be performed, Service Group need atleast only one Service ",
"BUILD_OBJECT_MISSING":"Build object missing in service '%s'",
"PORT_MISMATCH":"Port Mismatching '%d'",
"DUPLICATE_SERVICE_PORT":"Ports can't be same in ServieGroup, Service Port '%d' already used in one of services in '%s'",
"MOUNT_PATH_MISMATCH":"Mount Path Mismatch between actual service '%s' and value in ServiceGroup '%s'",
"STORAGENAME_NOTFOUND":"Storage Name '%s' not found in StorageGroups",
"ACTUAL_SERVICE_NOT_HAVING_CONFIG":"You can't update Confgis in ServiceGroup '%s' because Actual Service '%s' does't contain any configs",
"ACTUAL_SERVICE_HAVING_CONFIG":"You can't delete Confgis in ServiceGroup '%s' because Actual Service '%s' contains configs",
"CYCLIC_DEPENDENCY":"Cyclic Dependency between ServiceGroup '%s' and '%s'",
"SG_VERSION_DRAFT":"Can't commit serviceGroup '%s' version as '%s'"
},
"serviceGroup":{
"BUILD_OBJECT_MISSING":"Build object missing in service '%s'",
"SERVICEGROUP_NOTFOUND":"Requested Service Group '%s' is not found",
"SERVICEGROUP_ALREADY_EXIST":"Requested Service Group '%s' already exist",
"SERVICEGROUP_OBJECT_MISSING":"Service Group object '%s' is missing",
"SERVICE_OBJECT_MISSING":"Service object '%s' is missing",
"SERVICE_ARRAY_MISSING":"Service []Object '%s' is missing",
"SERVICEGROUPEHIST_NOTFOUND":"Requested ServiceGroup history '%s' with version '%s' is not found",
"SERVICEGROUP_PORTS_CANNOTBE_DUPLICATE":"In Service Group '%s' Encountered duplication values of port '%d'",
"UPDATETYPE_MISSING":"UpdateType field missing",
"STATELESSSCALINGPOLICY":": stateless for this ServiceGroupType ScalingPolicy is required",
"STATEFULSCALINGPOLICY":": stateful for this ServiceGroupType ScalingPolicy will not come",
"SCALINGRESTRICT":" can't attach ScalingPolicy for this serviceGroup '%s' because StorageGroup has PersistentVolume",
"PODDEPLOYMENTPOLICY":"pod for this ServiceGroupType deploymentPolicy will not come",
"INVALID_SERVICEGROUPID_FMT":"Requested serviceGroup id is invalid format '%s'",
"PAGESIZE_NEGAVE":"Page or Size can not be negative number { '%d', '%d' }",
"PPAGE_LIMIT":"Requested invalid page '%d'; Page should be less than '%d'",
"PSIZE_LIMIT":"Requested invalid size '%d' Page should be less than '%d'",
"MOUNT_PATH_MISMATCH":"Mount Path Mismatch between actual service '%s' and value in ServiceGroup '%s'",
"STORAGENAME_NOTFOUND":"Storage Name '%s' not found in StorageGroups",
"SERVICE_NAME_CANNOTBE_DUPLICATE":"In Service Group '%s' Encountered duplication values of service name '%s'",
"PORT_MISMATCH":"Port Mismatching '%d'",
"BUILD_IN_FAILED":"Build is in failed state",
"SERVICE_VERSION_DRAFT":"Can't commit service '%s' version as '%s'",
"SERVICE_CONFIG_VERSION":"Can't commit service '%s' config '%s' version as '%s'",
"PODAFFINITY_EXPRESSION":"Invalid Value for labelExpression operator: %s",
"PODAFFINITY_TOPOLOGYKEY":"Invalid topologyKey : %s",
"STORAGENAME_UNIQUE":"volumeLabel must contain unique values",
"SECURITYCONTEXT_NOT_ALLOWED":"securityContext runAsNonRoot is '%s' but the given runAsUser is '%s' root value"
},
"All":{
"MISSING_FIELD":"Invalid input or missing mandatory field '%s'",
"INVALID_ID":"Requested resource id '%s' is invalid format",
"UNMARSHAL_ERROR":"The field '%s' is a '%s' type, but the given value is '%s' type",
"UNKNOWN_UNMARSHAL_ERROR":"The expected type is a '%s', but the given value is '%s' type"
},
"App":{
"APP_NOTFOUND":"Requested application '%s' is not found",
"APP_ALREADY_EXIST":"Requested application '%s' is already exist",
"NOT_IMPLEMENT":"This module has not been implemented",
"PAGESIZE_LESSONE":"Page or Size can not be less than one { '%d', '%d' }",
"PPAGE_LIMIT":"Requested invalid page '%d'; Page should be less than '%d'",
"PSIZE_LIMIT":"Requested invalid size '%d'; Size should be less than '%d'",
"INVALID_CONFIGID_FMT":"Requesting config id is invalid formate '%s'",
"DONOT_MOD_FIELD":"You could not modify the field '%s' value after creation",
"CP_SETUP_FAILED":"Gopaddle setup failed with '%s'",
"ACTIVITY_NOTFOUND":"Requested application's activity '%s' is not found",
"INGRESS_NODEPORT_MISSING":"'accessInfo.httpNodePort' and 'accsessInfo.httpsNodePort' can not be nil if access info is nodeIPIngress",
"//Volume configuration":"",
"VOLUME_MISSING":"Volume info is missing to the service group '%s'",
"HOSTVOL_MISSING":"Host volume is missing to the storage name '%s' in service group '%s'",
"PV_MISSING":"Persistent volume is missing to the storage name '%s' in service group '%s'",
"SVOLUME_MISSING":"Static volume is missing to the storage name '%s' in service group '%s'",
"USED_SVOLUME": "Volume '%s' is unavailable status '%s'. Please select a different volume",
"DUP_SVOLUME": "The Given request contains duplicate static volume informations '%s'",
"SC_MISSING": "Storage class is missing to the storage name '%s' in the service group '%s'",
"INVALID_SCALING":"Autosclaing Max replica '%d' is less than Deployment policy Replica '%d' in service group '%s'",
"REPLICA_IN_STATIC":"Replicas should be only one if the service group '%s' contains the static volume",
"REPLICA_IN_DYNAMIC":"Replicas should be only one if the service group '%s' contains the dynamic volume and also no stateful type",
"SCALING_IN_VOLUME":"Scaling relicas should be only one if the service group '%s' contains the persistence volume",
"//NFS Provisioner":"",
"DEPLOYMENTTEMPLATE_READ_ERROR":"There is a problem in reading deployment template",
"STORAGECLASS_READ_ERROR":"There is a problem in reading storage class",
"PROVISIONER_READ_ERROR":"There is a problem in reading provisioner",
"//Port configuration":"",
"PORT_MISSING":"Port info is missing to the service group '%s'",
"EX_PORT_MISSING":"Expose port '%d' is null in the service group '%s.%s'",
"BOTH_PORT_OPTION":"The port '%d' can not be used both alternative port and ingress, in the service group '%s.%s'",
"INVALID_INGRESS_PATH":"We detected invalid path '%s' for port '%d', in the service group '%s.%s'",
"INVALID_PORT":"We detected invalid port '%d', in the service group '%s.%s'",
"INGRESS_PATH_MISSING":"Ingress path info '%s' is missing to the service group '%s.%s'",
"INGRESS_LBIP_MISSING":"LoadBalancerIp is missing for nginx ingress",
"INGRESS_ELB_MISSING":"ELB id is missing for nginx ingress",
"//Update":"",
"TOOMANY_SG":"Update will run a Service Group at single time",
"INVALID_SG":"We detected invalid service group info in update call '%s'",
"TOOMANY_UPDATECALL":"Too many update request on the same application '%s'",
"APP_INAVALID_STATUS":"The application which is in '%s' state '%s' could not be updated",
"NON_SUPPORT_SGTYPE":"Non stateless service group '%s' will not support any update",
"REVISION_NULL":"The revision number can not be empty if update type is rollback in the service group '%s'",
"ALREADY_ROLLEDBACK_REVISION":"The given revision '%d' already rolledback in the service group '%s'",
"EXPIRED_REVISION":"The given revision '%d' is already expired in the service group '%s'",
"UPDATE_DESC_NULL":"The parameter 'serviceGroups[0].description' can not be empty",
"UPDATE_SCALING_NULL":"The parameter 'serviceGroups[0].ScalingPolicy' can not be empty",
"UPDATE_SERVICE_ID_NULL":"The parameter '%s' can not be empty",
"UPDATE_SERVICE_IMAGE_NULL":"The parametet '%s' can not be empty",
"UPDATE_PODAFFINITY_EXPRESSIONS":"Invalid Value for labelExpression operator: %s",
"UPDATE_NODEAFFINITY_EXPRESSIONS":"Invalid Value for nodeExpression operator: %s",
"//READ":"",
"INVALID_READTYPE":"We detected that invalid value '%s' for query field read-type",
"MISSING_READQUERY_FIELDS":"The query field '%s' can not be null if the read-type is '%s'",
"MISSING_READTYPE":"The query filed 'read-type' is missing",
"MISSING_RESOURCEQUERY_FIELDS":"The query field '%s' can not be null if the resource-type is '%s'",
"INVALID_RESOURCETYPE":"We detected that invalid value '%s' for query field resource-type",
"MISSING_RESOURCETYPE":"The query filed 'resource-type' is missing",
"//DEPENDENCY": "",
"DEPENDENCY_UPDATE_ERROR": "Couldnt update application dependency",
"DEPLOYMENT_VERSION_ERROR":"Couldnt find the difference in deploymentTemplate",
"BUILD_ID_MISSING":"The build version missing for a container '%s' in the serviceGroup '%s'.",
"RESPONSE_FORMATTING":"Failed on formatting application Response: '%s'",
"GETTING_RESPONSE":"failed on getting %s information %s",
"SERVICE_GROUP_ALREADY_EXIST":"Requested service '%s' is already exist in this application '%s'",
"//CONTAINER_ADD":"",
"STORAGENAME_NOT_FOUND":"StorageName '%s' not found in the serviceGroup '%s'",
"SERVICE_ALREADY_EXIST":"Requested container '%s' is already exist on the service '%s'",
"SERVICEGROUP_NOTFOUND":"Requested service '%s' is not found in application '%s'",
"SERVICE_NOTFOUND":"Requested container '%s' is not found in service '%s'",
"SERVICE_REQUIRED":"Container type '%s' is required in the service '%s'",
"BUILD_NOTFOUND":"Requested container '%s' build is not found for distribution '%s' in release '%s'",
"IMAGE_NOTFOUND":"Requested container '%s' image is not found for distribution '%s' in release '%s'",
"POD_NOTSUPPORTED_UPDATED":"Requested update is not supported for pod. supported Update is buildUpdate and network",
"MICROK8S_DEFAULT_SC_NOTFOUND":"Failed default Storeageclass not equal to '%s' in microk8s",
"K3S_DEFAULT_SC_NOTFOUND":"Failed default Storeageclass not equal to '%s' in k3s",
"//SERVICEGROUP":"",
"SG_NOTFOUND":"Requested servicegroup '%s' is not found",
"ALB_DEPLOYMENT_NOT_FOUND":"Requested alb deployment not found in the cluster '%s'",
"ALB_POD_NOT_FOUND":"Requested alb pod not found in the cluster '%s'",
"ALB_POD_NOT_READY":"Requested alb pod not ready in the cluster '%s'",
"DOMAIN_ARN_NOT_FOUND":"Requested domain '%s' not contain the certificateARN",
"DOMAIN_ARN_NOT_FOUND_REGION": "Request domain '%s' not contain the certificateARN for region '%s' and cloudaccount '%s'"
},
"Metrics":{
"MISSING_METRICSQUERY_FIELDS":"The query field '%s' can not be null if the metrics-type is '%s'",
"METRICS_NOTFOUND":"Requested projectID '%s' is not found"
},
"Topup":{
"TOPUP_NOTFOUND":"Requested accountID '%s' is not found"
},
"allocationPolicy":{
"AP_NOTFOUND":"Requested Allocation Policy '%s' is not found",
"AP_ALREADY_EXIST":"Requested Allocation Policy '%s' already exists",
"INVALID_AP_FMT":"Requested service id is invalid format '%s'",
"PAGESIZE_NEGAVE":"Page or Size can not be a negative number { '%d', '%d' }",
"PPAGE_LIMIT":"Requested invalid page '%d'; Page should be less than '%d'",
"PSIZE_LIMIT":"Requested invalid size '%d' Page should be less than '%d'",
"CPU_LIMIT":"CPU value in millicore should be between '%d' and '%d'",
"MEMORY_M_LIMIT":"Memory values in MegaBytes should be between '%d' and '%d'",
"MEMORY_G_LIMIT":"Memory values in GigaBytes should be between '%d' and '%d'",
"MEMORY_SUFFIX":"Memory suffix should be one of 'M' or 'G'",
"CPU_SUFFIX":"CPU suffix should be 'm'",
"INVALID_QUANTITY":"Value of '%s' contains invalid character '%s'",
"MEMORY_QUANTITY":"Memory limit '%s' should be greater than Request '%s'",
"CPU_QUANTITY":"CPU limit '%s' should be greater than Request '%s'"
}
}

View File

@ -1,11 +0,0 @@
{{/*
Check ClusterRole Exist
*/}}
{{- define "gen.clusterrole" -}}
{{- $clusterrole := lookup "v1" "ClusterRole" "" "gopaddle:nginx-ingress-clusterrole" -}}
{{- if $clusterrole -}}
{{- printf "%s" true -}}
{{- else -}}
{{- printf "%s" false -}}
{{- end -}}
{{- end -}}

View File

@ -1,52 +0,0 @@
{
"allAPI":{
"readUserByID":"api/%s/user?organizationID=%s",
"readDomainByID":"api/%s/domain/%s?organizationID=%s",
"readConfigByName":"api/%s/config/%s?organizationID=%s",
"readServiceByName":"api/%s/service?organizationID=%s&operation=ReadByName&svcName=%s",
"readServiceGroupByID":"api/%s/v1/serviceGroup/%s",
"readServiceGroupByVersion":"api/%s/v1/%s/serviceGroup/%s/version/%s",
"readServiceGroupByTags":"api/%s/v1/%s/serviceGroup/%s/version?%s",
"updateServiceGroupDependencyRef":"api-internal/%s/v1/%s/serviceGroup/%s/version/%s",
"readBuildVersionByBuildID":"api/%s/v1/%s/build/%s",
"readBuildVersionByTags":"api/%s/v1/%s/build?%s",
"readIngressByID":"api/%s/ingress/%s?organizationID=%s",
"readProfileByID":"api/%s/profile/%s?organizationID=%s",
"readAllocationPolicyByID":"api/%s/v1/%s/allocationPolicy/%s",
"readVolumeClaimPolicyByID":"api/%s/%s/volumeClaimPolicy/%s?organizationID=%s",
"readVolumeByID":"api/%s/volume/%s?organizationID=%s",
"readKubeByID":"api/%s/kube/%s?organizationID=%s",
"readBuildByVersion":"api/%s/build/%s?organizationID=%s&operation=forDeployment",
"readRegistryByID":"api/%s/registry/%s?organizationID=%s&operation=accessToken&provider=%s",
"Updated":"updated",
"readScalingPolicyByID":"api/%s/v1/%s/scalingPolicy/%s",
"readDeploymentPolicyByID":"api/%s/v1/%s/deploymentPolicy/%s",
"readNetworkPolicyByID":"api/%s/v1/%s/networkpolicy/%s",
"readServiceByID":"api/%s/v1/%s/service/%s",
"updateScalingPolicyDependencyRef":"api-internal/%s/v1/%s/scalingPolicy/%s",
"updateDeploymentPolicyDependencyRef":"api-internal/%s/v1/%s/deploymentPolicy/%s",
"updateNetworkPolicyDependencyRef":"api-internal/%s/v1/%s/networkpolicy/%s",
"updateVolumeClaimPolicyDependencyRef":"api-internal/%s/%s/volumeClaimPolicy/%s",
"updateServiceDependencyRef":"api-internal/%s/v1/%s/service/%s/%s",
"updateAllocationPolicyDependencyRef":"api-internal/%s/v1/%s/allocationPolicy/%s",
"readServiceVersionByID":"api/%s/v1/%s/service/%s/version/%s",
"readServiceVersionByTags":"api/%s/v1/%s/service/%s/version?%s",
"readConfigVersionByID":"api/%s/v1/%s/config/%s/version/%s"
},
"acl":{
"url":"http://%s:%s/api-in/%s/v1/acl?userid=%s&project=%s",
"port":"8005"
},
"aclProject":{
"url":"http://%s:%s/api-in/%s/v1/acl?project=%s",
"port":"8005"
},
"nonrootuser":{
"url":"http://%s:%s/api-in/%s/v1/subusers/%s",
"port":"8005"
},
"project":{
"url":"http://%s:%s/api-internal/%s/v1/projectlist",
"port":"8005"
}
}

View File

@ -1,59 +0,0 @@
{
"group":{
"workerInterval":10
},
"mongodb":{
"db-name":"deploymentmanager",
"db-endpoint":[
"mongodb:27017"
],
"db-port":"27017",
"user-db":"admin",
"db-user":"admin",
"db-password":"cGFzc3dvcmQ"
},
"redis":{
"redis-endpoint":"redis",
"redis-port":"6379",
"redis-password":"avraj"
},
"rabbitmq":{
"mq-protocol":"amqp",
"mq-user":"admin",
"mq-password":"cGFzc3dvcmQ",
"mq-ip":"rabbitmq",
"mq-port":"5672",
"mq-apps-host":"/apps",
"mq-apps-queue":"apps-worker-queue"
},
"esearch":{
"es-user":"elastic",
"es-password":"cGFzc3dvcmQ",
"es-endpoints":[
"http://esearch:9200"
]
},
"gopaddleTools":{
"prometheus":{
"gatewayEndpoint":"NODE_IP",
"gatewayAPI":"/api/%s/v1/application/datacollector/datapoint",
"influxDBs":{
"influxDB-1":{
"dbEndpoint":"http://influxdb:8086",
"dbUser":"admin",
"dbPassword":"cGFzc3dvcmQ",
"maxUserCount":"100",
"isEnabled":true
}
}
},
"eventHandler":{
"gatewayEndpoint":"NODE_IP",
"gatewayAPI":"/api/%s/v1/application/datacollector/eventhandler"
}
},
"deploymentTemplateIconDirectory":{
"iconDirectory":"/iconPath/%s/deploymentTemplate/",
"iconAPI":"/v1/deploymentTemplate/icon/%s"
}
}

View File

@ -1,94 +0,0 @@
{
"builder.ep":{
"host":"gpcore",
"port":"8759"
},
"core.ep": {
"host": "gpcore",
"port": "8759"
},
"configmanager.ep":{
"host":"configmanager",
"port":"8001"
},
"clustermanager.ep": {
"host": "clustermanager",
"port": "8013"
},
"domainmanager.ep":{
"host":"domainmanager",
"port":"8004"
},
"deploymentmanager.ep":{
"host":"deploymentmanager",
"port":"8003"
},
"platform.ep": {
"host": "cloudmanager",
"port": "8018"
},
"registry.ep": {
"host": "cloudmanager",
"port": "8018"
},
"policy.ep":{
"host":"configmanager",
"port":"8001"
},
"user.ep":{
"host":"usermanager",
"port":"8005"
},
"notification.ep":{
"host":"activitymanager",
"port":"8009"
},
"deploymenttmpl.ep":{
"host":"deploymentmanager",
"port":"8003"
},
"servicegroup.ep":{
"host": "deploymentmanager",
"port": "8003"
},
"service.ep":{
"host":"configmanager",
"port":"8001"
},
"serviceGroup.ep":{
"host": "deploymentmanager",
"port": "8003"
},
"config.ep":{
"host":"configmanager",
"port":"8001"
},
"gateway.ep":{
"host":"gateway",
"port":"8006"
},
"nodechecker.ep":{
"host":"nodechecker",
"port":"8020"
},
"billing.ep":{
"host":"costmanager",
"port":"8011"
},
"usermanager.ep":{
"host": "usermanager",
"port": "8005"
},
"alertmanager.ep":{
"host": "alertmanager",
"port": "8012"
},
"release.ep":{
"host": "gpcore",
"port": "8759"
},
"cloudaccount.ep":{
"host":"cloudmanager",
"port":"8018"
}
}

View File

@ -1,26 +0,0 @@
{
"application": {
"expectedFields": [
"name",
"clusterID",
"deploymentTemplateID",
"accessType"
]
},
"daemonset": {
"expectedFields": [
"name",
"clusterID",
"deploymentTemplateID"
]
},
"deploymentTemplate": {
"expectedFields": [
"name",
"services"
],
"expectedFields_service": [
"id"
]
}
}

View File

@ -1,52 +0,0 @@
{
"all":{
"DATA_PERSISTANCE":"Internal Error; (Failed to store data)",
"DATA_RETRIVE":"Internal Error; (Failed to retrive data)",
"INTERNAL_SERVER":"Internal Error; Unable to communicate with internal-server",
"INTERNAL_SERVER_ERROR":"Internal Error; Try after sometime",
"RESOURCE_NOT_FOUND":"Resource '%s' does not exist",
"ERROR_HITTING_EXT_API":"Unable to communicate with external resources",
"SOMETHING_WRONG": "Internal Error",
"INTERNAL_DB_COPY": "Could not format response from database object.",
"INPUT_PAYLOAD_ERROR":"Input payload have error: %s",
"GEN_UNMARSHAL_ERROR":"Error in unmarshal '%s'",
"STRING_TO_INT_ERROR":"Error in converting string to int '%s'",
"FIELD_VALIDATION":"InvalidValidationError '%s'",
"MARSHAL_ERROR":"Error in marshaling '%s'",
"ALREADY_EXIST":"'%s' already exists",
"MISSING_FIELD":"Invalid input or missing mandatory field '%s'",
"MISSING_FIELD_INSIDE":"Invalid input or missing mandatory field '%s' inside '%s'",
"INVALID_VALUE":"Invalid input for field '%s'",
"INVALID_TYPE":"Invalid input type for '%s'",
"INPUT_MISMATCH":"Given input JSON structure is mismatched",
"KEY_NOT_FOUND":" '%s' Key not found in Json",
"VALUE_NOT_FOUND":" '%s' Value not found in Json",
"UNSUPPORTED": "Given %s is not supported",
"UNMARSHAL_ERROR":"The field '%s' is a '%s' type, but the given value is '%s' type",
"UNKNOWN_UNMARSHAL_ERROR":"The expected type is a '%s', but the given value is '%s' type",
"PAGESIZE_LESSONE":"Page or Size can not be less than one { '%d', '%d' }",
"PPAGE_LIMIT":"Requested invalid page '%d'; Page should be less than '%d'",
"PSIZE_LIMIT":"Requested invalid size '%d'; Size should be less than '%d'",
"INVALID_ID":"Requested resource id '%s' is invalid format"
},
"cloudAuth":{
"MANAGED_TYPE":"User cannot delete Managed cloudAuth",
"KEY_EXISTS":"clientID already exist in the user",
"NAME_EXISTS":"Name already exist in the user"
},
"cloud":{
"MANAGED_TYPE":"User cannot delete Managed cloudAccount",
"KEY_EXISTS":"AccessKey already exist in the user",
"NAME_EXISTS":"Name already exist in the user",
"GOOGLE_KEY_EXISTS":"serviceAccount already exist in the user",
"CLOUD_ACCOUNT_NOTFOUND":"Requested CloudAccount'%s' is not found"
},
"registry":{
"PAGESIZE_NEGAVE":"Page or Size can not be negative number { '%d', '%d' }",
"PPAGE_LIMIT":"Requested invalid page '%d'; Page should be less than '%d'",
"PSIZE_LIMIT":"Requested invalid size '%d' Page should be less than '%d'",
"REG_NOTFOUND":"Requested registry channel '%s' is not found",
"REG_ALREADY_EXIST":"Requested registry channel '%s' is already exist",
"INVALID_REGISTRY_FMT":"Requested registry id '%s' is invalid formate"
}
}

View File

@ -1,18 +0,0 @@
{
"acl":{
"url":"http://%s:%s/api-in/%s/v1/acl?userid=%s&project=%s",
"port":"8005"
},
"aclProject":{
"url":"http://%s:%s/api-in/%s/v1/acl?project=%s",
"port":"8005"
},
"nonrootuser":{
"url":"http://%s:%s/api-in/%s/v1/subusers/%s",
"port":"8005"
},
"project":{
"url":"http://%s:%s/api-internal/%s/v1/projectlist",
"port":"8005"
}
}

View File

@ -1,23 +0,0 @@
{
"mongodb":{
"db-name":"cloudmanager",
"db-endpoint":[
"mongodb:27017"
],
"db-port":"27017",
"user-db":"admin",
"db-user":"admin",
"db-password":"cGFzc3dvcmQ"
},
"redis":{
"redis-endpoint":"redis",
"redis-port":"6379",
"redis-password":"avraj"
},
"cloudapis":{
"getACR":"https://management.azure.com/subscriptions/:subscriptionID/resourceGroups/:resourceGroupName/providers/Microsoft.ContainerRegistry/registries/:registryName?api-version=2019-05-01",
"getACRCreds":"https://management.azure.com/subscriptions/:subscriptionID/resourceGroups/:resourceGroupName/providers/Microsoft.ContainerRegistry/registries/:registryName/listCredentials?api-version=2019-05-01",
"googleUrl":"https://oauth2.googleapis.com/token",
"azureUrl":"https://login.microsoftonline.com/common/oauth2/v2.0/token"
}
}

View File

@ -1,26 +0,0 @@
{
"configmanager.ep": {
"host": "configmanager",
"port": "8001"
},
"usermanager.ep":{
"host":"usermanager",
"port":"8005"
},
"cloudmanager.ep": {
"host": "cloudmanager",
"port": "8018"
},
"cloudaccount.ep":{
"host":"cloudmanager",
"port":"8018"
},
"nodechecker.ep": {
"host":"nodechecker",
"port":"8020"
},
"billing.ep":{
"host":"costmanager",
"port":"8011"
}
}

View File

@ -1,197 +0,0 @@
---
AWSTemplateFormatVersion: '2010-09-09'
Resources:
AmazonEKSLoadBalancerControllerRole:
Type: AWS::IAM::Role
Properties:
AssumeRolePolicyDocument:
Version: '2012-10-17'
Statement:
- Effect: Allow
Principal:
Federated: IDENTITY_PROVIDER_ARN
Action: sts:AssumeRoleWithWebIdentity
Condition:
StringEquals:
IDENTITY_PROVIDER_ID: "system:serviceaccount:kube-system:aws-load-balancer-controller"
Path: "/"
Policies:
- PolicyName: AWSLoadBalancerControllerIAMPolicy
PolicyDocument:
Version: '2012-10-17'
Statement:
- Effect: Allow
Action: iam:CreateServiceLinkedRole
Resource: "*"
Condition:
StringEquals:
iam:AWSServiceName: elasticloadbalancing.amazonaws.com
- Effect: Allow
Action:
- ec2:DescribeAccountAttributes
- ec2:DescribeAddresses
- ec2:DescribeAvailabilityZones
- ec2:DescribeInternetGateways
- ec2:DescribeVpcs
- ec2:DescribeVpcPeeringConnections
- ec2:DescribeSubnets
- ec2:DescribeSecurityGroups
- ec2:DescribeInstances
- ec2:DescribeNetworkInterfaces
- ec2:DescribeTags
- ec2:GetCoipPoolUsage
- ec2:DescribeCoipPools
- elasticloadbalancing:DescribeLoadBalancers
- elasticloadbalancing:DescribeLoadBalancerAttributes
- elasticloadbalancing:DescribeListeners
- elasticloadbalancing:DescribeListenerCertificates
- elasticloadbalancing:DescribeSSLPolicies
- elasticloadbalancing:DescribeRules
- elasticloadbalancing:DescribeTargetGroups
- elasticloadbalancing:DescribeTargetGroupAttributes
- elasticloadbalancing:DescribeTargetHealth
- elasticloadbalancing:DescribeTags
Resource: "*"
- Effect: Allow
Action:
- cognito-idp:DescribeUserPoolClient
- acm:ListCertificates
- acm:DescribeCertificate
- iam:ListServerCertificates
- iam:GetServerCertificate
- waf-regional:GetWebACL
- waf-regional:GetWebACLForResource
- waf-regional:AssociateWebACL
- waf-regional:DisassociateWebACL
- wafv2:GetWebACL
- wafv2:GetWebACLForResource
- wafv2:AssociateWebACL
- wafv2:DisassociateWebACL
- shield:GetSubscriptionState
- shield:DescribeProtection
- shield:CreateProtection
- shield:DeleteProtection
Resource: "*"
- Effect: Allow
Action:
- ec2:AuthorizeSecurityGroupIngress
- ec2:RevokeSecurityGroupIngress
Resource: "*"
- Effect: Allow
Action:
- ec2:CreateSecurityGroup
Resource: "*"
- Effect: Allow
Action:
- ec2:CreateTags
Resource: arn:aws:ec2:*:*:security-group/*
Condition:
StringEquals:
ec2:CreateAction: CreateSecurityGroup
'Null':
aws:RequestTag/elbv2.k8s.aws/cluster: 'false'
- Effect: Allow
Action:
- ec2:CreateTags
- ec2:DeleteTags
Resource: arn:aws:ec2:*:*:security-group/*
Condition:
'Null':
aws:RequestTag/elbv2.k8s.aws/cluster: 'true'
aws:ResourceTag/elbv2.k8s.aws/cluster: 'false'
- Effect: Allow
Action:
- ec2:AuthorizeSecurityGroupIngress
- ec2:RevokeSecurityGroupIngress
- ec2:DeleteSecurityGroup
Resource: "*"
Condition:
'Null':
aws:ResourceTag/elbv2.k8s.aws/cluster: 'false'
- Effect: Allow
Action:
- elasticloadbalancing:CreateLoadBalancer
- elasticloadbalancing:CreateTargetGroup
Resource: "*"
Condition:
'Null':
aws:RequestTag/elbv2.k8s.aws/cluster: 'false'
- Effect: Allow
Action:
- elasticloadbalancing:CreateListener
- elasticloadbalancing:DeleteListener
- elasticloadbalancing:CreateRule
- elasticloadbalancing:DeleteRule
Resource: "*"
- Effect: Allow
Action:
- elasticloadbalancing:AddTags
- elasticloadbalancing:RemoveTags
Resource:
- arn:aws:elasticloadbalancing:*:*:targetgroup/*/*
- arn:aws:elasticloadbalancing:*:*:loadbalancer/net/*/*
- arn:aws:elasticloadbalancing:*:*:loadbalancer/app/*/*
Condition:
'Null':
aws:RequestTag/elbv2.k8s.aws/cluster: 'true'
aws:ResourceTag/elbv2.k8s.aws/cluster: 'false'
- Effect: Allow
Action:
- elasticloadbalancing:AddTags
- elasticloadbalancing:RemoveTags
Resource:
- arn:aws:elasticloadbalancing:*:*:listener/net/*/*/*
- arn:aws:elasticloadbalancing:*:*:listener/app/*/*/*
- arn:aws:elasticloadbalancing:*:*:listener-rule/net/*/*/*
- arn:aws:elasticloadbalancing:*:*:listener-rule/app/*/*/*
- Effect: Allow
Action:
- elasticloadbalancing:ModifyLoadBalancerAttributes
- elasticloadbalancing:SetIpAddressType
- elasticloadbalancing:SetSecurityGroups
- elasticloadbalancing:SetSubnets
- elasticloadbalancing:DeleteLoadBalancer
- elasticloadbalancing:ModifyTargetGroup
- elasticloadbalancing:ModifyTargetGroupAttributes
- elasticloadbalancing:DeleteTargetGroup
Resource: "*"
Condition:
'Null':
aws:ResourceTag/elbv2.k8s.aws/cluster: 'false'
- Effect: Allow
Action:
- elasticloadbalancing:RegisterTargets
- elasticloadbalancing:DeregisterTargets
Resource: arn:aws:elasticloadbalancing:*:*:targetgroup/*/*
- Effect: Allow
Action:
- elasticloadbalancing:SetWebAcl
- elasticloadbalancing:ModifyListener
- elasticloadbalancing:AddListenerCertificates
- elasticloadbalancing:RemoveListenerCertificates
- elasticloadbalancing:ModifyRule
Resource: "*"
- PolicyName: AWSLoadBalancerControllerAdditionalIAMPolicy
PolicyDocument:
Version: '2012-10-17'
Statement:
- Effect: Allow
Action:
- ec2:CreateTags
- ec2:DeleteTags
Resource: arn:aws:ec2:*:*:security-group/*
Condition:
'Null':
aws:ResourceTag/ingress.k8s.aws/cluster: 'false'
- Effect: Allow
Action:
- elasticloadbalancing:AddTags
- elasticloadbalancing:RemoveTags
- elasticloadbalancing:DeleteTargetGroup
Resource:
- arn:aws:elasticloadbalancing:*:*:targetgroup/*/*
- arn:aws:elasticloadbalancing:*:*:loadbalancer/net/*/*
- arn:aws:elasticloadbalancing:*:*:loadbalancer/app/*/*
Condition:
'Null':
aws:ResourceTag/ingress.k8s.aws/cluster: 'false'

View File

@ -1,334 +0,0 @@
---
AWSTemplateFormatVersion: '2010-09-09'
Description: 'Amazon EKS Sample VPC - Private only subnets. These subnets do not have access to the Internet and this templates creates the recommended VPC Endpoints for running EKS Clusters.'
Parameters:
VpcBlock:
Type: String
Default: VPC_VALUE
Description: The CIDR range for the VPC. This should be a valid private (RFC 1918) CIDR range.
PrivateSubnet01Block:
Type: String
Default: SUBNET01_VALUE
Description: CidrBlock for private subnet 01 within the VPC
PrivateSubnet02Block:
Type: String
Default: SUBNET02_VALUE
Description: CidrBlock for private subnet 02 within the VPC
PrivateSubnet03Block:
Type: String
Default: SUBNET03_VALUE
Description: CidrBlock for private subnet 03 within the VPC
Metadata:
AWS::CloudFormation::Interface:
ParameterGroups:
-
Label:
default: "Primary Worker Network Configuration"
Parameters:
- VpcBlock
- PrivateSubnet01Block
- PrivateSubnet02Block
- PrivateSubnet03Block
Conditions:
Has2Azs:
Fn::Or:
- Fn::Equals:
- {Ref: 'AWS::Region'}
- ap-south-1
- Fn::Equals:
- {Ref: 'AWS::Region'}
- ap-northeast-2
- Fn::Equals:
- {Ref: 'AWS::Region'}
- ca-central-1
- Fn::Equals:
- {Ref: 'AWS::Region'}
- cn-north-1
- Fn::Equals:
- {Ref: 'AWS::Region'}
- sa-east-1
- Fn::Equals:
- {Ref: 'AWS::Region'}
- us-west-1
HasMoreThan2Azs:
Fn::Not:
- Condition: Has2Azs
Mappings:
ServiceNamePrefixMap:
aws:
Name: com.amazonaws
aws-cn:
Name: cn.com.amazonaws
aws-us-gov:
Name: com.amazonaws
Resources:
VPC:
Type: AWS::EC2::VPC
Properties:
CidrBlock: !Ref VpcBlock
EnableDnsSupport: true
EnableDnsHostnames: true
Tags:
- Key: Name
Value: !Sub '${AWS::StackName}-VPC'
PrivateRouteTable:
Type: AWS::EC2::RouteTable
Properties:
VpcId: !Ref VPC
PrivateSubnet01:
Type: AWS::EC2::Subnet
Metadata:
Comment: Private Subnet 01
Properties:
AvailabilityZone:
Fn::Select:
- '0'
- Fn::GetAZs:
Ref: AWS::Region
CidrBlock:
Ref: PrivateSubnet01Block
VpcId:
Ref: VPC
Tags:
- Key: Name
Value: !Sub "${AWS::StackName}-PrivateSubnet01"
- Key: kubernetes.io/role/internal-elb
Value: 1
PrivateSubnet02:
Type: AWS::EC2::Subnet
Metadata:
Comment: Private Subnet 02
Properties:
AvailabilityZone:
Fn::Select:
- '1'
- Fn::GetAZs:
Ref: AWS::Region
CidrBlock:
Ref: PrivateSubnet02Block
VpcId:
Ref: VPC
Tags:
- Key: Name
Value: !Sub "${AWS::StackName}-PrivateSubnet02"
- Key: kubernetes.io/role/internal-elb
Value: 1
PrivateSubnet03:
Condition: HasMoreThan2Azs
Type: AWS::EC2::Subnet
Metadata:
Comment: Private Subnet 03
Properties:
AvailabilityZone:
Fn::Select:
- '2'
- Fn::GetAZs:
Ref: AWS::Region
CidrBlock:
Ref: PrivateSubnet03Block
VpcId:
Ref: VPC
Tags:
- Key: Name
Value: !Sub "${AWS::StackName}-PrivateSubnet03"
- Key: kubernetes.io/role/internal-elb
Value: 1
PrivateSubnet01RouteTableAssociation:
Type: AWS::EC2::SubnetRouteTableAssociation
Properties:
SubnetId: !Ref PrivateSubnet01
RouteTableId: !Ref PrivateRouteTable
PrivateSubnet02RouteTableAssociation:
Type: AWS::EC2::SubnetRouteTableAssociation
Properties:
SubnetId: !Ref PrivateSubnet02
RouteTableId: !Ref PrivateRouteTable
PrivateSubnet03RouteTableAssociation:
Condition: HasMoreThan2Azs
Type: AWS::EC2::SubnetRouteTableAssociation
Properties:
SubnetId: !Ref PrivateSubnet03
RouteTableId: !Ref PrivateRouteTable
EndpointSecurityGroup:
Type: AWS::EC2::SecurityGroup
Properties:
GroupDescription: Security group to govern who can access the endpoints
VpcId: !Ref VPC
SecurityGroupIngress:
- IpProtocol: tcp
FromPort: 443
ToPort: 443
CidrIp: !Ref VpcBlock
S3APIEndpoint:
Type: "AWS::EC2::VPCEndpoint"
Properties:
ServiceName: !Sub "com.amazonaws.${AWS::Region}.s3"
VpcEndpointType: Gateway
RouteTableIds:
- !Ref PrivateRouteTable
VpcId: !Ref VPC
ECRAPIEndpoint:
Type: "AWS::EC2::VPCEndpoint"
Properties:
ServiceName:
!Join [ ".", [ !FindInMap [ServiceNamePrefixMap, !Ref "AWS::Partition", Name], !Ref "AWS::Region", "ecr.api" ] ]
VpcEndpointType: Interface
PrivateDnsEnabled: true
SecurityGroupIds:
- !GetAtt EndpointSecurityGroup.GroupId
SubnetIds:
- !Ref PrivateSubnet01
- !Ref PrivateSubnet02
- Fn::If:
- HasMoreThan2Azs
- !Ref PrivateSubnet03
- !Ref AWS::NoValue
VpcId: !Ref VPC
ECRDockerEndpoint:
Type: "AWS::EC2::VPCEndpoint"
Properties:
ServiceName:
!Join [ ".", [ !FindInMap [ServiceNamePrefixMap, !Ref "AWS::Partition", Name], !Ref "AWS::Region", "ecr.dkr" ] ]
VpcEndpointType: Interface
PrivateDnsEnabled: true
SecurityGroupIds:
- !GetAtt EndpointSecurityGroup.GroupId
SubnetIds:
- !Ref PrivateSubnet01
- !Ref PrivateSubnet02
- Fn::If:
- HasMoreThan2Azs
- !Ref PrivateSubnet03
- !Ref AWS::NoValue
VpcId: !Ref VPC
EC2Endpoint:
Type: "AWS::EC2::VPCEndpoint"
Properties:
ServiceName:
!Join [ ".", [ !FindInMap [ServiceNamePrefixMap, !Ref "AWS::Partition", Name], !Ref "AWS::Region", "ec2" ] ]
VpcEndpointType: Interface
PrivateDnsEnabled: true
SecurityGroupIds:
- !GetAtt EndpointSecurityGroup.GroupId
SubnetIds:
- !Ref PrivateSubnet01
- !Ref PrivateSubnet02
- Fn::If:
- HasMoreThan2Azs
- !Ref PrivateSubnet03
- !Ref AWS::NoValue
VpcId: !Ref VPC
CWLogsEndpoint:
Type: "AWS::EC2::VPCEndpoint"
Properties:
ServiceName: !Sub "com.amazonaws.${AWS::Region}.logs"
VpcEndpointType: Interface
PrivateDnsEnabled: true
SecurityGroupIds:
- !GetAtt EndpointSecurityGroup.GroupId
SubnetIds:
- !Ref PrivateSubnet01
- !Ref PrivateSubnet02
- Fn::If:
- HasMoreThan2Azs
- !Ref PrivateSubnet03
- !Ref AWS::NoValue
VpcId: !Ref VPC
STSEndpoint:
Type: "AWS::EC2::VPCEndpoint"
Properties:
ServiceName:
!Join [ ".", [ !FindInMap [ServiceNamePrefixMap, !Ref "AWS::Partition", Name], !Ref "AWS::Region", "sts" ] ]
VpcEndpointType: Interface
PrivateDnsEnabled: true
SecurityGroupIds:
- !GetAtt EndpointSecurityGroup.GroupId
SubnetIds:
- !Ref PrivateSubnet01
- !Ref PrivateSubnet02
- Fn::If:
- HasMoreThan2Azs
- !Ref PrivateSubnet03
- !Ref AWS::NoValue
VpcId: !Ref VPC
ControlPlaneSecurityGroup:
Type: AWS::EC2::SecurityGroup
Properties:
GroupDescription: Cluster communication with worker nodes
VpcId: !Ref VPC
Outputs:
VpcId:
Description: The VPC ID
Value: !Ref VPC
SubnetIds:
Description: All subnets in the VPC
Value:
Fn::If:
- HasMoreThan2Azs
- !Join [ ",", [ !Ref PrivateSubnet01, !Ref PrivateSubnet02, !Ref PrivateSubnet03 ] ]
- !Join [ ",", [ !Ref PrivateSubnet01, !Ref PrivateSubnet02 ] ]
SecurityGroups:
Description: Security group for the cluster control plane communication with worker nodes
Value: !Join [ ",", [ !Ref ControlPlaneSecurityGroup ] ]
Subnet01ID:
Description: The Subnet01 Id
Value: !Ref PrivateSubnet01
Subnet02ID:
Description: The Subnet02 Id
Value: !Ref PrivateSubnet02
Subnet03ID:
Condition: HasMoreThan2Azs
Description: The Subnet03 Id
Value: !Ref PrivateSubnet03
Subnet01AZ:
Description: The Subnet01 AZ
Value: !GetAtt
- PrivateSubnet01
- AvailabilityZone
Subnet02AZ:
Description: The Subnet02 AZ
Value: !GetAtt
- PrivateSubnet02
- AvailabilityZone
Subnet03AZ:
Condition: HasMoreThan2Azs
Description: The Subnet03 AZ
Value: !GetAtt
- PrivateSubnet03
- AvailabilityZone

View File

@ -1,499 +0,0 @@
ClusterName - CLUSTER_NAME: inputfrom User
ClusterControlPlaneSecurityGroup - CLUCONPLASCGROUP - output from VPC stack
NodeGroupName - NODEGROUPNAME - inputfrom User
NodeAutoScalingGroupMinSize - AUTOSCALINGMINSIZE - inputfrom User(default 1)
NodeAutoScalingGroupDesiredCapacity - AUTOSCALINGDESIREDCAPACITY - inputfrom User(default 3)
NodeAutoScalingGroupMaxSize - AUTOSCALINGMAXSIZE - inputfrom User(Default 4)
NodeInstanceType - NODEINSTANCETYPE - inputfrom User
NodeVolumeSize - NODEVOLUMESIZE - inputfrom User
KeyName - KEYNAME - inputfrom User
VpcId - VPCID - output from VPC stack
Subnets - SUBNETS - output from VPC stack
---
AWSTemplateFormatVersion: "2010-09-09"
Description: Amazon EKS - Node Group
Metadata:
"AWS::CloudFormation::Interface":
ParameterGroups:
- Label:
default: EKS Cluster
Parameters:
- ClusterName
- ClusterControlPlaneSecurityGroup
- Label:
default: Worker Node Configuration
Parameters:
- NodeGroupName
- NodeAutoScalingGroupMinSize
- NodeAutoScalingGroupDesiredCapacity
- NodeAutoScalingGroupMaxSize
- NodeInstanceType
- NodeImageIdSSMParam
- NodeImageId
- NodeVolumeSize
- KeyName
- BootstrapArguments
- Label:
default: Worker Network Configuration
Parameters:
- VpcId
- Subnets
Parameters:
BootstrapArguments:
Type: String
Default: ""
Description: "Arguments to pass to the bootstrap script. See files/bootstrap.sh in https://github.com/awslabs/amazon-eks-ami"
ClusterControlPlaneSecurityGroup:
Type: "AWS::EC2::SecurityGroup::Id"
Description: The security group of the cluster control plane.
ClusterName:
Type: String
Description: The cluster name provided when the cluster was created. If it is incorrect, nodes will not be able to join the cluster.
KeyName:
Type: "AWS::EC2::KeyPair::KeyName"
Description: The EC2 Key Pair to allow SSH access to the instances
NodeAutoScalingGroupDesiredCapacity:
Type: Number
Default: 3
Description: Desired capacity of Node Group ASG.
NodeAutoScalingGroupMaxSize:
Type: Number
Default: 4
Description: Maximum size of Node Group ASG. Set to at least 1 greater than NodeAutoScalingGroupDesiredCapacity.
NodeAutoScalingGroupMinSize:
Type: Number
Default: 1
Description: Minimum size of Node Group ASG.
NodeGroupName:
Type: String
Description: Unique identifier for the Node Group.
NodeImageId:
Type: String
Default: ""
Description: (Optional) Specify your own custom image ID. This value overrides any AWS Systems Manager Parameter Store value specified above.
NodeImageIdSSMParam:
Type: "AWS::SSM::Parameter::Value<AWS::EC2::Image::Id>"
Default: /aws/service/eks/optimized-ami/1.14/amazon-linux-2/recommended/image_id
Description: AWS Systems Manager Parameter Store parameter of the AMI ID for the worker node instances.
NodeInstanceType:
Type: String
Default: t3.medium
AllowedValues:
- a1.medium
- a1.large
- a1.xlarge
- a1.2xlarge
- a1.4xlarge
- c1.medium
- c1.xlarge
- c3.large
- c3.xlarge
- c3.2xlarge
- c3.4xlarge
- c3.8xlarge
- c4.large
- c4.xlarge
- c4.2xlarge
- c4.4xlarge
- c4.8xlarge
- c5.large
- c5.xlarge
- c5.2xlarge
- c5.4xlarge
- c5.9xlarge
- c5.12xlarge
- c5.18xlarge
- c5.24xlarge
- c5.metal
- c5d.large
- c5d.xlarge
- c5d.2xlarge
- c5d.4xlarge
- c5d.9xlarge
- c5d.18xlarge
- c5n.large
- c5n.xlarge
- c5n.2xlarge
- c5n.4xlarge
- c5n.9xlarge
- c5n.18xlarge
- cc2.8xlarge
- cr1.8xlarge
- d2.xlarge
- d2.2xlarge
- d2.4xlarge
- d2.8xlarge
- f1.2xlarge
- f1.4xlarge
- f1.16xlarge
- g2.2xlarge
- g2.8xlarge
- g3s.xlarge
- g3.4xlarge
- g3.8xlarge
- g3.16xlarge
- h1.2xlarge
- h1.4xlarge
- h1.8xlarge
- h1.16xlarge
- hs1.8xlarge
- i2.xlarge
- i2.2xlarge
- i2.4xlarge
- i2.8xlarge
- i3.large
- i3.xlarge
- i3.2xlarge
- i3.4xlarge
- i3.8xlarge
- i3.16xlarge
- i3.metal
- i3en.large
- i3en.xlarge
- i3en.2xlarge
- i3en.3xlarge
- i3en.6xlarge
- i3en.12xlarge
- i3en.24xlarge
- m1.small
- m1.medium
- m1.large
- m1.xlarge
- m2.xlarge
- m2.2xlarge
- m2.4xlarge
- m3.medium
- m3.large
- m3.xlarge
- m3.2xlarge
- m4.large
- m4.xlarge
- m4.2xlarge
- m4.4xlarge
- m4.10xlarge
- m4.16xlarge
- m5.large
- m5.xlarge
- m5.2xlarge
- m5.4xlarge
- m5.8xlarge
- m5.12xlarge
- m5.16xlarge
- m5.24xlarge
- m5.metal
- m5a.large
- m5a.xlarge
- m5a.2xlarge
- m5a.4xlarge
- m5a.8xlarge
- m5a.12xlarge
- m5a.16xlarge
- m5a.24xlarge
- m5ad.large
- m5ad.xlarge
- m5ad.2xlarge
- m5ad.4xlarge
- m5ad.12xlarge
- m5ad.24xlarge
- m5d.large
- m5d.xlarge
- m5d.2xlarge
- m5d.4xlarge
- m5d.8xlarge
- m5d.12xlarge
- m5d.16xlarge
- m5d.24xlarge
- m5d.metal
- p2.xlarge
- p2.8xlarge
- p2.16xlarge
- p3.2xlarge
- p3.8xlarge
- p3.16xlarge
- p3dn.24xlarge
- g4dn.xlarge
- g4dn.2xlarge
- g4dn.4xlarge
- g4dn.8xlarge
- g4dn.12xlarge
- g4dn.16xlarge
- g4dn.metal
- r3.large
- r3.xlarge
- r3.2xlarge
- r3.4xlarge
- r3.8xlarge
- r4.large
- r4.xlarge
- r4.2xlarge
- r4.4xlarge
- r4.8xlarge
- r4.16xlarge
- r5.large
- r5.xlarge
- r5.2xlarge
- r5.4xlarge
- r5.8xlarge
- r5.12xlarge
- r5.16xlarge
- r5.24xlarge
- r5.metal
- r5a.large
- r5a.xlarge
- r5a.2xlarge
- r5a.4xlarge
- r5a.8xlarge
- r5a.12xlarge
- r5a.16xlarge
- r5a.24xlarge
- r5ad.large
- r5ad.xlarge
- r5ad.2xlarge
- r5ad.4xlarge
- r5ad.12xlarge
- r5ad.24xlarge
- r5d.large
- r5d.xlarge
- r5d.2xlarge
- r5d.4xlarge
- r5d.8xlarge
- r5d.12xlarge
- r5d.16xlarge
- r5d.24xlarge
- r5d.metal
- t1.micro
- t2.nano
- t2.micro
- t2.small
- t2.medium
- t2.large
- t2.xlarge
- t2.2xlarge
- t3.nano
- t3.micro
- t3.small
- t3.medium
- t3.large
- t3.xlarge
- t3.2xlarge
- t3a.nano
- t3a.micro
- t3a.small
- t3a.medium
- t3a.large
- t3a.xlarge
- t3a.2xlarge
- u-6tb1.metal
- u-9tb1.metal
- u-12tb1.metal
- x1.16xlarge
- x1.32xlarge
- x1e.xlarge
- x1e.2xlarge
- x1e.4xlarge
- x1e.8xlarge
- x1e.16xlarge
- x1e.32xlarge
- z1d.large
- z1d.xlarge
- z1d.2xlarge
- z1d.3xlarge
- z1d.6xlarge
- z1d.12xlarge
- z1d.metal
ConstraintDescription: Must be a valid EC2 instance type
Description: EC2 instance type for the node instances
NodeVolumeSize:
Type: Number
Default: 20
Description: Node volume size
Subnets:
Type: "List<AWS::EC2::Subnet::Id>"
Description: The subnets where workers can be created.
VpcId:
Type: "AWS::EC2::VPC::Id"
Description: The VPC of the worker instances
Conditions:
HasNodeImageId: !Not
- "Fn::Equals":
- Ref: NodeImageId
- ""
Resources:
NodeInstanceRole:
Type: "AWS::IAM::Role"
Properties:
AssumeRolePolicyDocument:
Version: "2012-10-17"
Statement:
- Effect: Allow
Principal:
Service:
- ec2.amazonaws.com
Action:
- "sts:AssumeRole"
ManagedPolicyArns:
- "arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy"
- "arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy"
- "arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly"
Path: /
NodeInstanceProfile:
Type: "AWS::IAM::InstanceProfile"
Properties:
Path: /
Roles:
- Ref: NodeInstanceRole
NodeSecurityGroup:
Type: "AWS::EC2::SecurityGroup"
Properties:
GroupDescription: Security group for all nodes in the cluster
Tags:
- Key: !Sub kubernetes.io/cluster/${ClusterName}
Value: owned
VpcId: !Ref VpcId
NodeSecurityGroupIngress:
Type: "AWS::EC2::SecurityGroupIngress"
DependsOn: NodeSecurityGroup
Properties:
Description: Allow node to communicate with each other
FromPort: 0
GroupId: !Ref NodeSecurityGroup
IpProtocol: "-1"
SourceSecurityGroupId: !Ref NodeSecurityGroup
ToPort: 65535
ClusterControlPlaneSecurityGroupIngress:
Type: "AWS::EC2::SecurityGroupIngress"
DependsOn: NodeSecurityGroup
Properties:
Description: Allow pods to communicate with the cluster API Server
FromPort: 443
GroupId: !Ref ClusterControlPlaneSecurityGroup
IpProtocol: tcp
SourceSecurityGroupId: !Ref NodeSecurityGroup
ToPort: 443
ControlPlaneEgressToNodeSecurityGroup:
Type: "AWS::EC2::SecurityGroupEgress"
DependsOn: NodeSecurityGroup
Properties:
Description: Allow the cluster control plane to communicate with worker Kubelet and pods
DestinationSecurityGroupId: !Ref NodeSecurityGroup
FromPort: 1025
GroupId: !Ref ClusterControlPlaneSecurityGroup
IpProtocol: tcp
ToPort: 65535
ControlPlaneEgressToNodeSecurityGroupOn443:
Type: "AWS::EC2::SecurityGroupEgress"
DependsOn: NodeSecurityGroup
Properties:
Description: Allow the cluster control plane to communicate with pods running extension API servers on port 443
DestinationSecurityGroupId: !Ref NodeSecurityGroup
FromPort: 443
GroupId: !Ref ClusterControlPlaneSecurityGroup
IpProtocol: tcp
ToPort: 443
NodeSecurityGroupFromControlPlaneIngress:
Type: "AWS::EC2::SecurityGroupIngress"
DependsOn: NodeSecurityGroup
Properties:
Description: Allow worker Kubelets and pods to receive communication from the cluster control plane
FromPort: 1025
GroupId: !Ref NodeSecurityGroup
IpProtocol: tcp
SourceSecurityGroupId: !Ref ClusterControlPlaneSecurityGroup
ToPort: 65535
NodeSecurityGroupFromControlPlaneOn443Ingress:
Type: "AWS::EC2::SecurityGroupIngress"
DependsOn: NodeSecurityGroup
Properties:
Description: Allow pods running extension API servers on port 443 to receive communication from cluster control plane
FromPort: 443
GroupId: !Ref NodeSecurityGroup
IpProtocol: tcp
SourceSecurityGroupId: !Ref ClusterControlPlaneSecurityGroup
ToPort: 443
NodeLaunchConfig:
Type: "AWS::AutoScaling::LaunchConfiguration"
Properties:
AssociatePublicIpAddress: "true"
BlockDeviceMappings:
- DeviceName: /dev/xvda
Ebs:
DeleteOnTermination: true
VolumeSize: !Ref NodeVolumeSize
VolumeType: gp2
IamInstanceProfile: !Ref NodeInstanceProfile
ImageId: !If
- HasNodeImageId
- Ref: NodeImageId
- Ref: NodeImageIdSSMParam
InstanceType: !Ref NodeInstanceType
KeyName: !Ref KeyName
SecurityGroups:
- Ref: NodeSecurityGroup
UserData: !Base64
"Fn::Sub": |
#!/bin/bash
set -o xtrace
/etc/eks/bootstrap.sh ${ClusterName} ${BootstrapArguments}
/opt/aws/bin/cfn-signal --exit-code $? \
--stack ${AWS::StackName} \
--resource NodeGroup \
--region ${AWS::Region}
NodeGroup:
Type: "AWS::AutoScaling::AutoScalingGroup"
Properties:
DesiredCapacity: !Ref NodeAutoScalingGroupDesiredCapacity
LaunchConfigurationName: !Ref NodeLaunchConfig
MaxSize: !Ref NodeAutoScalingGroupMaxSize
MinSize: !Ref NodeAutoScalingGroupMinSize
Tags:
- Key: Name
PropagateAtLaunch: "true"
Value: !Sub ${ClusterName}-${NodeGroupName}-Node
- Key: !Sub kubernetes.io/cluster/${ClusterName}
PropagateAtLaunch: "true"
Value: owned
VPCZoneIdentifier: !Ref Subnets
UpdatePolicy:
AutoScalingRollingUpdate:
MaxBatchSize: "1"
MinInstancesInService: !Ref NodeAutoScalingGroupDesiredCapacity
PauseTime: PT5M
Outputs:
NodeInstanceRole:
Description: The node instance role
Value: !GetAtt NodeInstanceRole.Arn
NodeSecurityGroup:
Description: The security group for the node group
Value: !Ref NodeSecurityGroup

View File

@ -1,210 +0,0 @@
---
AWSTemplateFormatVersion: '2010-09-09'
Description: 'Amazon EKS Sample VPC'
Parameters:
VpcBlock:
Type: String
Default: VPC_VALUE
Description: The CIDR range for the VPC. This should be a valid private (RFC 1918) CIDR range.
Subnet01Block:
Type: String
Default: SUBNET01_VALUE
Description: CidrBlock for subnet 01 within the VPC
Subnet02Block:
Type: String
Default: SUBNET02_VALUE
Description: CidrBlock for subnet 02 within the VPC
Subnet03Block:
Type: String
Default: SUBNET03_VALUE
Description: CidrBlock for subnet 03 within the VPC. This is used only if the region has more than 2 AZs.
Metadata:
AWS::CloudFormation::Interface:
ParameterGroups:
-
Label:
default: "Worker Network Configuration"
Parameters:
- VpcBlock
- Subnet01Block
- Subnet02Block
- Subnet03Block
Conditions:
Has2Azs:
Fn::Or:
- Fn::Equals:
- {Ref: 'AWS::Region'}
- ca-central-1
- Fn::Equals:
- {Ref: 'AWS::Region'}
- cn-north-1
HasMoreThan2Azs:
Fn::Not:
- Condition: Has2Azs
Resources:
VPC:
Type: AWS::EC2::VPC
Properties:
CidrBlock: !Ref VpcBlock
EnableDnsSupport: true
EnableDnsHostnames: true
Tags:
- Key: Name
Value: !Sub '${AWS::StackName}-VPC'
InternetGateway:
Type: "AWS::EC2::InternetGateway"
VPCGatewayAttachment:
Type: "AWS::EC2::VPCGatewayAttachment"
Properties:
InternetGatewayId: !Ref InternetGateway
VpcId: !Ref VPC
RouteTable:
Type: AWS::EC2::RouteTable
Properties:
VpcId: !Ref VPC
Tags:
- Key: Name
Value: Public Subnets
- Key: Network
Value: Public
Route:
DependsOn: VPCGatewayAttachment
Type: AWS::EC2::Route
Properties:
RouteTableId: !Ref RouteTable
DestinationCidrBlock: 0.0.0.0/0
GatewayId: !Ref InternetGateway
Subnet01:
Type: AWS::EC2::Subnet
Metadata:
Comment: Subnet 01
Properties:
MapPublicIpOnLaunch: true
AvailabilityZone: SUBNET01_ZONE
CidrBlock:
Ref: Subnet01Block
VpcId:
Ref: VPC
Tags:
- Key: Name
Value: !Sub "${AWS::StackName}-Subnet01"
Subnet02:
Type: AWS::EC2::Subnet
Metadata:
Comment: Subnet 02
Properties:
MapPublicIpOnLaunch: true
AvailabilityZone: SUBNET02_ZONE
CidrBlock:
Ref: Subnet02Block
VpcId:
Ref: VPC
Tags:
- Key: Name
Value: !Sub "${AWS::StackName}-Subnet02"
Subnet03:
Condition: HasMoreThan2Azs
Type: AWS::EC2::Subnet
Metadata:
Comment: Subnet 03
Properties:
MapPublicIpOnLaunch: true
AvailabilityZone: SUBNET03_ZONE
CidrBlock:
Ref: Subnet03Block
VpcId:
Ref: VPC
Tags:
- Key: Name
Value: !Sub "${AWS::StackName}-Subnet03"
Subnet01RouteTableAssociation:
Type: AWS::EC2::SubnetRouteTableAssociation
Properties:
SubnetId: !Ref Subnet01
RouteTableId: !Ref RouteTable
Subnet02RouteTableAssociation:
Type: AWS::EC2::SubnetRouteTableAssociation
Properties:
SubnetId: !Ref Subnet02
RouteTableId: !Ref RouteTable
Subnet03RouteTableAssociation:
Condition: HasMoreThan2Azs
Type: AWS::EC2::SubnetRouteTableAssociation
Properties:
SubnetId: !Ref Subnet03
RouteTableId: !Ref RouteTable
ControlPlaneSecurityGroup:
Type: AWS::EC2::SecurityGroup
Properties:
GroupDescription: Cluster communication with worker nodes
VpcId: !Ref VPC
Outputs:
SubnetIds:
Description: All subnets in the VPC
Value:
Fn::If:
- HasMoreThan2Azs
- !Join [ ",", [ !Ref Subnet01, !Ref Subnet02, !Ref Subnet03 ] ]
- !Join [ ",", [ !Ref Subnet01, !Ref Subnet02 ] ]
SecurityGroups:
Description: Security group for the cluster control plane communication with worker nodes
Value: !Join [ ",", [ !Ref ControlPlaneSecurityGroup ] ]
VpcId:
Description: The VPC Id
Value: !Ref VPC
Subnet01ID:
Description: The Subnet01 Id
Value: !Ref Subnet01
Subnet02ID:
Description: The Subnet02 Id
Value: !Ref Subnet02
Subnet03ID:
Condition: HasMoreThan2Azs
Description: The Subnet03 Id
Value: !Ref Subnet03
Subnet01AZ:
Description: The Subnet01 AZ
Value: !GetAtt
- Subnet01
- AvailabilityZone
Subnet02AZ:
Description: The Subnet02 AZ
Value: !GetAtt
- Subnet02
- AvailabilityZone
Subnet03AZ:
Condition: HasMoreThan2Azs
Description: The Subnet03 AZ
Value: !GetAtt
- Subnet03
- AvailabilityZone

View File

@ -1,353 +0,0 @@
---
AWSTemplateFormatVersion: '2010-09-09'
Description: 'Amazon EKS Sample VPC - Private and Public subnets'
Parameters:
VpcBlock:
Type: String
Default: VPC_VALUE
Description: The CIDR range for the VPC. This should be a valid private (RFC 1918) CIDR range.
PublicSubnet01Block:
Type: String
Default: SUBNET01_VALUE
Description: CidrBlock for public subnet 01 within the VPC
PublicSubnet02Block:
Type: String
Default: SUBNET02_VALUE
Description: CidrBlock for public subnet 02 within the VPC
PrivateSubnet01Block:
Type: String
Default: SUBNET03_VALUE
Description: CidrBlock for private subnet 03 within the VPC
PrivateSubnet02Block:
Type: String
Default: SUBNET04_VALUE
Description: CidrBlock for private subnet 04 within the VPC
Metadata:
AWS::CloudFormation::Interface:
ParameterGroups:
-
Label:
default: "Worker Network Configuration"
Parameters:
- VpcBlock
- PublicSubnet01Block
- PublicSubnet02Block
- PrivateSubnet01Block
- PrivateSubnet02Block
Resources:
VPC:
Type: AWS::EC2::VPC
Properties:
CidrBlock: !Ref VpcBlock
EnableDnsSupport: true
EnableDnsHostnames: true
Tags:
- Key: Name
Value: !Sub '${AWS::StackName}-VPC'
- Key: source
Value: gopaddle
InternetGateway:
Type: "AWS::EC2::InternetGateway"
Properties:
Tags:
- Key: source
Value: gopaddle
VPCGatewayAttachment:
Type: "AWS::EC2::VPCGatewayAttachment"
Properties:
InternetGatewayId: !Ref InternetGateway
VpcId: !Ref VPC
PublicRouteTable:
Type: AWS::EC2::RouteTable
Properties:
VpcId: !Ref VPC
Tags:
- Key: Name
Value: Public Subnets
- Key: Network
Value: Public
- Key: source
Value: gopaddle
PrivateRouteTable01:
Type: AWS::EC2::RouteTable
Properties:
VpcId: !Ref VPC
Tags:
- Key: Name
Value: Private Subnet AZ1
- Key: Network
Value: Private01
- Key: source
Value: gopaddle
PrivateRouteTable02:
Type: AWS::EC2::RouteTable
Properties:
VpcId: !Ref VPC
Tags:
- Key: Name
Value: Private Subnet AZ2
- Key: Network
Value: Private02
- Key: source
Value: gopaddle
PublicRoute:
DependsOn: VPCGatewayAttachment
Type: AWS::EC2::Route
Properties:
RouteTableId: !Ref PublicRouteTable
DestinationCidrBlock: 0.0.0.0/0
GatewayId: !Ref InternetGateway
PrivateRoute01:
DependsOn:
- VPCGatewayAttachment
- NatGateway01
Type: AWS::EC2::Route
Properties:
RouteTableId: !Ref PrivateRouteTable01
DestinationCidrBlock: 0.0.0.0/0
NatGatewayId: !Ref NatGateway01
PrivateRoute02:
DependsOn:
- VPCGatewayAttachment
- NatGateway02
Type: AWS::EC2::Route
Properties:
RouteTableId: !Ref PrivateRouteTable02
DestinationCidrBlock: 0.0.0.0/0
NatGatewayId: !Ref NatGateway02
NatGateway01:
DependsOn:
- NatGatewayEIP1
- PublicSubnet01
- VPCGatewayAttachment
Type: AWS::EC2::NatGateway
Properties:
AllocationId: !GetAtt 'NatGatewayEIP1.AllocationId'
SubnetId: !Ref PublicSubnet01
Tags:
- Key: Name
Value: !Sub '${AWS::StackName}-NatGatewayAZ1'
- Key: source
Value: gopaddle
NatGateway02:
DependsOn:
- NatGatewayEIP2
- PublicSubnet02
- VPCGatewayAttachment
Type: AWS::EC2::NatGateway
Properties:
AllocationId: !GetAtt 'NatGatewayEIP2.AllocationId'
SubnetId: !Ref PublicSubnet02
Tags:
- Key: Name
Value: !Sub '${AWS::StackName}-NatGatewayAZ2'
- Key: source
Value: gopaddle
NatGatewayEIP1:
DependsOn:
- VPCGatewayAttachment
Type: 'AWS::EC2::EIP'
Properties:
Domain: vpc
NatGatewayEIP2:
DependsOn:
- VPCGatewayAttachment
Type: 'AWS::EC2::EIP'
Properties:
Domain: vpc
PublicSubnet01:
Type: AWS::EC2::Subnet
Metadata:
Comment: Subnet 01
Properties:
MapPublicIpOnLaunch: true
AvailabilityZone:
Fn::Select:
- '0'
- Fn::GetAZs:
Ref: AWS::Region
CidrBlock:
Ref: PublicSubnet01Block
VpcId:
Ref: VPC
Tags:
- Key: Name
Value: !Sub "${AWS::StackName}-PublicSubnet01"
- Key: kubernetes.io/role/elb
Value: 1
- Key: source
Value: gopaddle
PublicSubnet02:
Type: AWS::EC2::Subnet
Metadata:
Comment: Subnet 02
Properties:
MapPublicIpOnLaunch: true
AvailabilityZone:
Fn::Select:
- '1'
- Fn::GetAZs:
Ref: AWS::Region
CidrBlock:
Ref: PublicSubnet02Block
VpcId:
Ref: VPC
Tags:
- Key: Name
Value: !Sub "${AWS::StackName}-PublicSubnet02"
- Key: kubernetes.io/role/elb
Value: 1
- Key: source
Value: gopaddle
PrivateSubnet01:
Type: AWS::EC2::Subnet
Metadata:
Comment: Subnet 03
Properties:
AvailabilityZone:
Fn::Select:
- '0'
- Fn::GetAZs:
Ref: AWS::Region
CidrBlock:
Ref: PrivateSubnet01Block
VpcId:
Ref: VPC
Tags:
- Key: Name
Value: !Sub "${AWS::StackName}-PrivateSubnet01"
- Key: kubernetes.io/role/internal-elb
Value: 1
- Key: source
Value: gopaddle
PrivateSubnet02:
Type: AWS::EC2::Subnet
Metadata:
Comment: Private Subnet 02
Properties:
AvailabilityZone:
Fn::Select:
- '1'
- Fn::GetAZs:
Ref: AWS::Region
CidrBlock:
Ref: PrivateSubnet02Block
VpcId:
Ref: VPC
Tags:
- Key: Name
Value: !Sub "${AWS::StackName}-PrivateSubnet02"
- Key: kubernetes.io/role/internal-elb
Value: 1
- Key: source
Value: gopaddle
PublicSubnet01RouteTableAssociation:
Type: AWS::EC2::SubnetRouteTableAssociation
Properties:
SubnetId: !Ref PublicSubnet01
RouteTableId: !Ref PublicRouteTable
PublicSubnet02RouteTableAssociation:
Type: AWS::EC2::SubnetRouteTableAssociation
Properties:
SubnetId: !Ref PublicSubnet02
RouteTableId: !Ref PublicRouteTable
PrivateSubnet01RouteTableAssociation:
Type: AWS::EC2::SubnetRouteTableAssociation
Properties:
SubnetId: !Ref PrivateSubnet01
RouteTableId: !Ref PrivateRouteTable01
PrivateSubnet02RouteTableAssociation:
Type: AWS::EC2::SubnetRouteTableAssociation
Properties:
SubnetId: !Ref PrivateSubnet02
RouteTableId: !Ref PrivateRouteTable02
ControlPlaneSecurityGroup:
Type: AWS::EC2::SecurityGroup
Properties:
GroupDescription: Cluster communication with worker nodes
VpcId: !Ref VPC
Tags:
- Key: source
Value: gopaddle
Outputs:
SubnetIds:
Description: Subnets IDs in the VPC
Value: !Join [ ",", [ !Ref PublicSubnet01, !Ref PublicSubnet02, !Ref PrivateSubnet01, !Ref PrivateSubnet02 ] ]
SecurityGroups:
Description: Security group for the cluster control plane communication with worker nodes
Value: !Join [ ",", [ !Ref ControlPlaneSecurityGroup ] ]
VpcId:
Description: The VPC Id
Value: !Ref VPC
Subnet01ID:
Description: The Subnet01 Id
Value: !Ref PublicSubnet01
Subnet02ID:
Description: The Subnet02 Id
Value: !Ref PublicSubnet02
Subnet03ID:
Description: The Subnet03 Id
Value: !Ref PrivateSubnet01
Subnet04ID:
Description: The Subnet04 Id
Value: !Ref PrivateSubnet02
Subnet01AZ:
Description: The Subnet01 AZ
Value: !GetAtt
- PublicSubnet01
- AvailabilityZone
Subnet02AZ:
Description: The Subnet02 AZ
Value: !GetAtt
- PublicSubnet02
- AvailabilityZone
Subnet03AZ:
Description: The Subnet03 AZ
Value: !GetAtt
- PrivateSubnet01
- AvailabilityZone
Subnet04AZ:
Description: The Subnet04 AZ
Value: !GetAtt
- PrivateSubnet02
- AvailabilityZone

View File

@ -1,167 +0,0 @@
# Reference - https://aws.amazon.com/blogs/infrastructure-and-automation/best-practices-for-deploying-ec2-instances-with-aws-cloudformation/
---
AWSTemplateFormatVersion: '2010-09-09'
Description: 'Amazon EKS Sample VPC'
Parameters:
SubnetBlock:
Type: String
Default: SUBNET_VALUE
Description: CidrBlock for subnet 04 within the VPC
Metadata:
AWS::CloudFormation::Interface:
ParameterGroups:
-
Label:
default: "Worker Network Configuration"
Parameters:
- SubnetBlock
Resources:
InternetGateway:
Type: "AWS::EC2::InternetGateway"
Properties:
Tags:
- Key: source
Value: gopaddle
VPCGatewayAttachment:
Type: "AWS::EC2::VPCGatewayAttachment"
Properties:
InternetGatewayId: !Ref InternetGateway
VpcId: VPC_ID
RouteTable:
Type: AWS::EC2::RouteTable
Properties:
VpcId: VPC_ID
Tags:
- Key: Name
Value: Public Subnets
- Key: Network
Value: Public
- Key: source
Value: gopaddle
Route:
DependsOn: VPCGatewayAttachment
Type: AWS::EC2::Route
Properties:
RouteTableId: !Ref RouteTable
DestinationCidrBlock: 0.0.0.0/0
GatewayId: !Ref InternetGateway
Subnet:
Type: AWS::EC2::Subnet
Metadata:
Comment: Subnet 01
Properties:
MapPublicIpOnLaunch: true
AvailabilityZone: SUBNET_ZONE
CidrBlock:
Ref: SubnetBlock
VpcId: VPC_ID
Tags:
- Key: Name
Value: !Sub "${AWS::StackName}-Subnet04"
- Key: SUBNET_TAG
Value: 1
- Key: source
Value: gopaddle
SubnetRouteTableAssociation:
Type: AWS::EC2::SubnetRouteTableAssociation
Properties:
SubnetId: !Ref Subnet
RouteTableId: !Ref RouteTable
SecurityGroup:
Type: AWS::EC2::SecurityGroup
Properties:
GroupDescription: Bastion Host Security Group
VpcId: VPC_ID
SecurityGroupIngress:
- IpProtocol: tcp
FromPort: 443
ToPort: 443
- IpProtocol: tcp
FromPort: 22
ToPort: 22
Tags:
- Key: source
Value: gopaddle
SecurityGroupIngress22:
Type: "AWS::EC2::SecurityGroupIngress"
DependsOn: SecurityGroup
Properties:
Description: Allow node to communicate with each other
CidrIp: 0.0.0.0/0
FromPort: 22
GroupId: !Ref SecurityGroup
IpProtocol: tcp
ToPort: 22
SecurityGroupIngress443:
Type: "AWS::EC2::SecurityGroupIngress"
DependsOn: SecurityGroup
Properties:
Description: Allow node to communicate with each other
CidrIp: 0.0.0.0/0
FromPort: 443
GroupId: !Ref SecurityGroup
IpProtocol: tcp
ToPort: 443
Ec2Instance:
Type: AWS::EC2::Instance
Properties:
ImageId: IMAGE_ID
KeyName: KEY_NAME
InstanceType: "t2.micro"
NetworkInterfaces:
- AssociatePublicIpAddress: "true"
DeviceIndex: "0"
GroupSet:
- Ref: SecurityGroup
SubnetId:
Ref: Subnet
Tags:
- Key: source
Value: gopaddle
UserData: !Base64
"Fn::Sub": |
#!/bin/bash
sudo apt update
sudo snap install amazon-ssm-agent --classic
sudo snap switch --channel=candidate amazon-ssm-agent
sudo snap refresh amazon-ssm-agent
sudo snap start amazon-ssm-agent
sudo snap services amazon-ssm-agent
Outputs:
SubnetID:
Description: The Subnet Id
Value: !Ref Subnet
InstanceID:
Description: The Instance Id
Value: !Ref Ec2Instance
SecurityGroupID:
Description: The Security Group Id
Value: !Ref SecurityGroup
PublicIp:
Value: !GetAtt
- Ec2Instance
- PublicIp
Description: Ec2Instance's PublicIp Address

View File

@ -1,33 +0,0 @@
---
apiVersion: v1
clusters:
- cluster:
server: https://localhost:9444
insecure-skip-tls-verify: true
name: EKS_CLUSTER_ARN
contexts:
- context:
cluster: EKS_CLUSTER_ARN
user: cluster/EKS_CLUSTER_NAME
name: EKS_CLUSTER_ARN
current-context: EKS_CLUSTER_ARN
kind: Config
preferences: {}
users:
- name: cluster/EKS_CLUSTER_NAME
user:
exec:
apiVersion: client.authentication.k8s.io/v1beta1
args:
- --region
- EKS_REGION
- eks
- get-token
- --cluster-name
- EKS_CLUSTER_NAME
command: aws
env:
- name: AWS_ACCESS_KEY_ID
value: EKS_OWNER_ACCESS
- name: AWS_SECRET_ACCESS_KEY
value: EKS_OWNER_SECRET

View File

@ -1,26 +0,0 @@
AWSTemplateFormatVersion: "2010-09-09"
Description: Amazon EKS - EKS service role
Resources:
EksServiceRole:
Type: "AWS::IAM::Role"
Properties:
AssumeRolePolicyDocument:
Version: "2012-10-17"
Statement:
- Effect: Allow
Principal:
Service:
- eks.amazonaws.com
Action:
- "sts:AssumeRole"
ManagedPolicyArns:
- "arn:aws:iam::aws:policy/AmazonEKSClusterPolicy"
- "arn:aws:iam::aws:policy/AmazonEKSServicePolicy"
Path: /
Outputs:
EksServiceRole:
Description: The EKS service role
Value: !GetAtt EksServiceRole.Arn

View File

@ -1,162 +0,0 @@
{
"all":{
"DATA_PERSISTANCE":"Internal Error; (Failed to store data)",
"DATA_RETRIVE":"Internal Error; (Failed to retrive data)",
"INTERNAL_SERVER":"Internal Error; Unable to communicate with internal-server",
"INTERNAL_SERVER_ERROR":"Internal Error; Try after sometime",
"RESOURCE_NOT_FOUND":"Resource '%s' does not exist",
"ERROR_HITTING_EXT_API":"Unable to communicate with external resources",
"SOMETHING_WRONG": "Internal Error",
"INTERNAL_DB_COPY": "Could not format response from database object.",
"INPUT_PAYLOAD_ERROR":"Input payload have error: %s",
"GEN_UNMARSHAL_ERROR":"Error in unmarshal '%s'",
"STRING_TO_INT_ERROR":"Error in converting string to int '%s'",
"FIELD_VALIDATION":"InvalidValidationError '%s'",
"MARSHAL_ERROR":"Error in marshaling '%s'",
"ALREADY_EXIST":"'%s' already exists",
"MISSING_FIELD":"Invalid input or missing mandatory field '%s'",
"MISSING_FIELD_INSIDE":"Invalid input or missing mandatory field '%s' inside '%s'",
"INVALID_VALUE":"Invalid input for field '%s'",
"INVALID_TYPE":"Invalid input type for '%s'",
"INPUT_MISMATCH":"Given input JSON structure is mismatched",
"KEY_NOT_FOUND":" '%s' Key not found in Json",
"VALUE_NOT_FOUND":" '%s' Value not found in Json",
"UNSUPPORTED": "Given %s is not supported",
"UNMARSHAL_ERROR":"The field '%s' is a '%s' type, but the given value is '%s' type",
"UNKNOWN_UNMARSHAL_ERROR":"The expected type is a '%s', but the given value is '%s' type"
},
"clusterManager":{
"CLUSTER_NOTFOUND":"The requested cluster '%s' is not found",
"NAME_EXISTS":"Cluster Name '%s' already exists.",
"CLOUD_ACCOUNT_NOTFOUND":"Cluster.Kube.CloudAccount.ID '%s' Not valid",
"DEP_REF_ALREADY_EXISTS":"This Depency Reference Id '%s' version '%s' is already exists"
},
"eks":{
"NODE_POOL_LENGTH":"Encountered invalid input: Cluster.Kube.EKS.Nodepool array length must be one",
"NODE_POOL_NAME":"Encountered invalid input: Cluster.Kube.EKS.Nodepool[0].Name cannot be empty",
"NODE_POOL_INSTANCETYPE":"Encountered invalid input: Cluster.Kube.EKS.Nodepool[0].InstanceType Should be valid",
"NODE_POOL_AMITYPE":"Encountered invalid input: Cluster.Kube.EKS.Nodepool[0].AMIType must be one of 'AL2_x86_64','AL2_x86_64_GPU','AL2_ARM_64'",
"NODE_POOL_DESIREDCAPACITY":"Encountered invalid input: Cluster.Kube.EKS.Nodepool[0].DesiredCapacity should not be empty",
"NODE_POOL_DISKSIZE":"Encountered invalid input: Cluster.Kube.EKS.Nodepool[0].DiskSize should not be empty",
"NODE_POOL_KEYNAME":"Encountered invalid input: Cluster.Kube.EKS.Nodepool[0].KeyName should not be empty",
"NODE_POOL_MAXCOUNT":"Encountered invalid input: Cluster.Kube.EKS.Nodepool[0].MaxCount should not be empty",
"NODE_POOL_MINCOUNT":"Encountered invalid input: Cluster.Kube.EKS.Nodepool[0].MinCount should not be empty",
"NODE_POOL_REGION":"Encountered invalid input: Cluster.Kube.EKS.VPCBlock.Region should be valid",
"VPC_CIDR":"Encountered invalid input: Cluster.Kube.EKS.VPCBlock.CIDR Should be valid",
"SUBNET_LENGTH":"Encountered invalid input: Cluster.Kube.EKS.VPC.Subnet length should be 3. if region is ca-central-1 length should be 2",
"SUBNET_CIDR":"Encountered invalid input: Cluster.Kube.EKS.Subnet['%s'].CIDR Should be valid",
"SUBNET_AZ":"Encountered invalid input: Cluster.Kube.EKS.Subnet['%s'].AZ should be one of %s",
"NODEPOOL_AZ":"Encountered invalid input: Cluster.Kube.EKS.NodePool[0].AZ need atleast one availability Zones",
"NODE_POOL_ROLE":"Encountered invalid input: Cluster.Kube.EKS.Nodepool[0].NodePoolRole.RoleArn should not be empty",
"MASTER_ROLE":"Encountered invalid input: Cluster.Kube.EKS.MasterRole.RoleArn should not be empty",
"MASTER_VERSION":"Encountered invalid input: Cluster.Kube.Version Should be valid",
"STORIDGE_NODEPOOL_MINCOUNT":"Encountered invalid input: Cluster.Kube.EKS.NodePool[0].MinCount should not be greater than 2",
"NODE_POOL_AMIIMAGE":"Encountered invalid input: Cluster.Kube.EKS.Nodepool[0].AMIImageID should not be empty",
"NODE_POOL_ROLEARN":"Encountered invalid input: Cluster.Kube.EKS.Nodepool[0].NodePoolRole.RoleArn should be valid"
},
"aks":{
"NODE_POOL_LENGTH":"Encountered invalid input: Cluster.Kube.AKS.Nodepool array length must be one",
"NODE_POOL_NAME":"Encountered invalid input: Cluster.Kube.AKS.Nodepool[0].Name cannot be empty",
"NODE_POOL_INSTANCETYPE":"Encountered invalid input: Cluster.Kube.AKS.Nodepool[0].InstanceType Should be valid",
"NODE_POOL_COUNT":"Encountered invalid input: Cluster.Kube.EKS.Nodepool[0].Count should not be empty",
"NODE_POOL_NODE_RESOURCE_GROUP":"Encountered invalid input: Cluster.Kube.AKS.Nodepool[0].NodeResourceGroup should not be empty",
"NODE_POOL_TYPE":"Encountered invalid input: Cluster.Kube.AKS.Nodepool[0].Type should be one of VirtualMachineScaleSets, AvailabilitySet",
"NODE_POOL_DISKSIZE":"Encountered invalid input: Cluster.Kube.AKS.Nodepool[0].DiskSize should not be empty",
"NODE_POOL_MAXCOUNT":"Encountered invalid input: Cluster.Kube.AKS.Nodepool[0].MaxCount should not be empty",
"NODE_POOL_MINCOUNT":"Encountered invalid input: Cluster.Kube.AKS.Nodepool[0].MinCount should not be empty",
"NODE_POOL_REGION":"Encountered invalid input: Cluster.Kube.AKS.Location should be valid",
"AKS_RESOURCE_GROUP_NAME":"Encountered invalid input: Cluster.Kube.AKS.ResourceGroupName should not be empty",
"AKS_SUBSCRIPTION_ID":"Encountered invalid input: Cluster.Kube.AKS.SubscriptionID should not be empty",
"NODE_POOL_OSTYPE":"Encountered invalid input: Cluster.Kube.AKS.Nodepool[0].OSType should be one of Linux, Windows",
"NODE_POOL_AZ":"Encountered invalid input: Cluster.Kube.AKS.Nodepool[0].AZ should be in the format ['1','2','3']",
"NODE_POOL_RS":"Encountered invalid input: Cluster.Kube.AKS.NetworkProfile.LoadBalancerSku not 'standard' so cannot create a nodepool with availability zones",
"SKU_TIER":"Encountered invalid input: Cluster.Kube.AKS.SKU.Tier should be one of Free, Paid",
"LBSKU":"Encountered invalid input: Cluster.Kube.AKS.NetworkProfile.LoadBalancerSku should be one of basic, standard",
"NODE_POOL_MODE":"Encountered invalid input: Cluster.Kube.AKS.Nodepool[0].Mode Should be one of User, System",
"NODE_POOL_NAME_VALID":"Encountered invalid input: AKSNodepool.Name Should be 1-12 charecters and lowercase.",
"RS_METRIC_NAME":"Encountered invalid input: Cluster.Kube.AKS.NodePool[0].AutoScale.RuleSets[%s].MetricName not available",
"RS_AGGREGATION_TYPE":"Encountered invalid input: Cluster.Kube.AKS.NodePool[0].AutoScale.RuleSets[%s].AggregationType not available",
"RS_OPERATOR":"Encountered invalid input: Cluster.Kube.AKS.NodePool[0].AutoScale.RuleSets[%s].Operator not available",
"RS_DURATION_TO_WATCH":"Encountered invalid input: Cluster.Kube.AKS.NodePool[0].AutoScale.RuleSets[%s].DurationToWatch not available",
"RS_VERB":"Encountered invalid input: Cluster.Kube.AKS.NodePool[0].AutoScale.RuleSets[%s].Verb not available",
"RS_COUNT":"Encountered invalid input: Cluster.Kube.AKS.NodePool[0].AutoScale.RuleSets[%s].Count not available",
"RS_CAPACITY":"Encountered invalid input: Cluster.Kube.AKS.NodePool[0].AutoScale.RuleSets[%s].Capacity not available",
"RS_SCALE_TYPE":"Encountered invalid input: Cluster.Kube.AKS.NodePool[0].AutoScale.RuleSets[%s].ScaleType not available",
"RS_TIME_WINDOW":"Encountered invalid input: Cluster.Kube.AKS.NodePool[0].AutoScale.RuleSets[%s].TimeWindow not available",
"RS_COOLDOWN":"Encountered invalid input: Cluster.Kube.AKS.NodePool[0].AutoScale.RuleSets[%s].CoolDown not available",
"RS_STATISTIC":"Encountered invalid input: Cluster.Kube.AKS.NodePool[0].AutoScale.RuleSets[%s].Statistic not available"
},
"gke":{
"NODE_POOL_LENGTH":"Encountered invalid input: Cluster.Kube.GKE.Nodepool array length must be one",
"NODE_POOL_NAME":"Encountered invalid input: Cluster.Kube.GKE.Nodepool[0].Name cannot be empty",
"NODE_POOL_INSTANCETYPE":"Encountered invalid input: Cluster.Kube.GKE.Nodepool[0].InstanceType Should be valid",
"NODE_POOL_COUNT":"Encountered invalid input: Cluster.Kube.EKS.Nodepool[0].InitialNodeCount should not be empty",
"NODE_POOL_DISKSIZE":"Encountered invalid input: Cluster.Kube.GKE.Nodepool[0].DiskSize should not be empty",
"NODE_POOL_MAXCOUNT":"Encountered invalid input: Cluster.Kube.GKE.Nodepool[0].MaxCount should not be empty",
"NODE_POOL_MINCOUNT":"Encountered invalid input: Cluster.Kube.GKE.Nodepool[0].MinCount should not be empty",
"NODE_POOL_REGION":"Encountered invalid input: Cluster.Kube.GKE.Location['%s'] should be valid",
"PROJECTID_NOTFOUND":"Encountered invalid input: Cluster.Kube.GKE.ProjectID should not be empty"
},
"external":{
"IP_NOT_FOUND":"Encountered invalid input: Cluster.Kube.IP should not be empty",
"AUTH_TYPE":"Encountered invalid input: Cluster.Kube.AuthType should be one of password, config",
"USERNAME_NOTFOUND":"Encountered invalid input: Cluster.Kube.Auth.Basic.Username should not be empty",
"PASSWORD_NOTFOUND":"Encountered invalid input: Cluster.Kube.Auth.Password should not be empty",
"CONFIG_NOTFOUND":"Encountered invalid input: Cluster.Kube.Auth.Config.Config should not be empty",
"PORT_NOTFOUND":"Encountered invalid input: Cluster.Kube.Port should not be empty"
},
"eksnodepool":{
"NODE_POOL_NAME":"Encountered invalid input: EKSNodepool.Name cannot be empty",
"NODE_POOL_INSTANCETYPE":"Encountered invalid input: EKSNodepool.InstanceType Should be valid",
"NODE_POOL_AMITYPE":"Encountered invalid input: EKSNodepool.AMIType must be one of 'AL2_x86_64','AL2_x86_64_GPU','AL2_ARM_64'",
"NODE_POOL_DESIREDCAPACITY":"Encountered invalid input: EKSNodepool.DesiredCapacity should not be empty",
"NODE_POOL_DISKSIZE":"Encountered invalid input: EKSNodepool.DiskSize should not be empty",
"NODE_POOL_KEYNAME":"Encountered invalid input: EKSNodepool.KeyName should not be empty",
"NODE_POOL_MAXCOUNT":"Encountered invalid input: EKSNodepool.MaxCount should not be empty",
"NODE_POOL_MINCOUNT":"Encountered invalid input: EKSNodepool.MinCount should not be empty",
"SUBNET_AZ":"Encountered invalid input: EKSNodepool.AZ need atleast one availability Zones",
"NODE_POOL_ROLE":"Encountered invalid input: EKSNodepool.NodePoolRole.RoleArn should not be empty",
"STORIDGE_NODEPOOL_MINCOUNT":"Encountered invalid input: EKSNodepool.Mincount should not be greater than 2",
"NODE_POOL_ROLEARN":"Encountered invalid input: EKSNodepool.NodePoolRole.RoleArn should be valid",
"NODE_POOL_AMIIMAGE":"Encountered invalid input: EKSNodepool.AMIImageID should not be empty"
},
"aksnodepool":{
"NODE_POOL_NAME":"Encountered invalid input: AKSNodepool.Name Should be 1-12 charecters and lowercase.",
"NODE_POOL_NAME_VALID":"Encountered invalid input: AKSNodepool.Name cannot be empty",
"NODE_POOL_INSTANCETYPE":"Encountered invalid input: AKSNodepool.InstanceType Should be valid",
"NODE_POOL_COUNT":"Encountered invalid input: AKSNodepool.Count should not be empty",
"NODE_POOL_DISKSIZE":"Encountered invalid input: AKSNodepool.DiskSize should not be empty",
"NODE_POOL_MAXCOUNT":"Encountered invalid input: AKSNodepool.MaxCount should not be empty",
"NODE_POOL_MINCOUNT":"Encountered invalid input: AKSNodepool.MinCount should not be empty",
"NODE_POOL_RESOURCE_GROUP":"Encountered invalid input: AKSNodepool.NodeResourceGroup Should not be empty",
"NODE_POOL_TYPE":"Encountered invalid input: AKSNodepool.Type should be one of VirtualMachineScaleSets, AvailabilitySet",
"NODE_POOL_OSTYPE":"Encountered invalid input: AKSNodepool.OSType should be one of Linux, Windows",
"NODE_POOL_AZ":"Encountered invalid input: AKSNodepool.AZ should be in the format ['1','2','3']",
"NODE_POOL_MODE":"Encountered invalid input: AKSNodepool.Mode Should be one of User, System",
"RS_METRIC_NAME":"Encountered invalid input: AKSNodepool.AutoScale.RuleSets[%s].MetricName not available",
"RS_AGGREGATION_TYPE":"Encountered invalid input: AKSNodepool.AutoScale.RuleSets[%s].AggregationType not available",
"RS_OPERATOR":"Encountered invalid input: AKSNodepool.AutoScale.RuleSets[%s].Operator not available",
"RS_DURATION_TO_WATCH":"Encountered invalid input: AKSNodepool.AutoScale.RuleSets[%s].DurationToWatch not available",
"RS_VERB":"Encountered invalid input: AKSNodepool.AutoScale.RuleSets[%s].Verb not available",
"RS_COUNT":"Encountered invalid input: AKSNodepool.AutoScale.RuleSets[%s].Count not available",
"RS_CAPACITY":"Encountered invalid input: AKSNodepool.AutoScale.RuleSets[%s].Capacity not available",
"RS_SCALE_TYPE":"Encountered invalid input: AKSNodepool.AutoScale.RuleSets[%s].ScaleType not available",
"RS_TIME_WINDOW":"Encountered invalid input: AKSNodepool.AutoScale.RuleSets[%s].TimeWindow not available",
"RS_COOLDOWN":"Encountered invalid input: AKSNodepool.AutoScale.RuleSets[%s].CoolDown not available",
"RS_STATISTIC":"Encountered invalid input: AKSNodepool.AutoScale.RuleSets[%s].Statistic not available"
},
"gkenodepool":{
"NODE_POOL_NAME":"Encountered invalid input: GKENodepool.Name cannot be empty",
"NODE_POOL_INSTANCETYPE":"Encountered invalid input: GKENodepool.InstanceType Should be valid",
"NODE_POOL_COUNT":"Encountered invalid input: GKENodepool.InitialNodeCount should not be empty",
"NODE_POOL_DISKSIZE":"Encountered invalid input: GKENodepool.DiskSize should not be empty",
"NODE_POOL_MAXCOUNT":"Encountered invalid input: GKENodepool.MaxCount should not be empty",
"NODE_POOL_MINCOUNT":"Encountered invalid input: GKENodepool.MinCount should not be empty"
},
"activity":{
"ACTIVITY_NOTFOUND":"The requested activity '%s' is not found"
}
}

View File

@ -1,19 +0,0 @@
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: CERTIFICATE
server: https://CLUSTER_IP
name: CLUSTER_NAME
contexts:
- context:
cluster: CLUSTER_NAME
user: CLUSTER_NAME
name: CLUSTER_NAME
current-context: CLUSTER_NAME
kind: Config
preferences: {}
users:
- name: CLUSTER_NAME
user:
auth-provider:
name: gcp

View File

@ -1,18 +0,0 @@
{
"acl":{
"url":"http://%s:%s/api-in/%s/v1/acl?userid=%s&project=%s",
"port":"8005"
},
"aclProject":{
"url":"http://%s:%s/api-in/%s/v1/acl?project=%s",
"port":"8005"
},
"nonrootuser":{
"url":"http://%s:%s/api-in/%s/v1/subusers/%s",
"port":"8005"
},
"project":{
"url":"http://%s:%s/api-internal/%s/v1/projectlist",
"port":"8005"
}
}

View File

@ -1,33 +0,0 @@
---
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: CERTIFICATE_VALUE
server: ENDPOINT_VALUE
name: CLUSTER_VALUE
contexts:
- context:
cluster: CONTEXT_CLUSTER_NAME
user: CONTEXT_USER_NAME
name: CLUSTER_USER_NAME
current-context: CONTEXT_NAME
kind: Config
preferences: {}
users:
- name: USER_NAME
user:
exec:
apiVersion: client.authentication.k8s.io/v1alpha1
args:
- --region
- REGION_VALUE
- eks
- get-token
- --cluster-name
- NAME_VALUE
command: aws
env:
- name: AWS_ACCESS_KEY_ID
value: ACCESS_KEY_VALUE
- name: AWS_SECRET_ACCESS_KEY
value: SECRET_KEY_VALUE

View File

@ -1,610 +0,0 @@
AWSTemplateFormatVersion: "2010-09-09"
Description: Amazon EKS - Node Group
Metadata:
"AWS::CloudFormation::Interface":
ParameterGroups:
- Label:
default: EKS Cluster
Parameters:
- ClusterName
- ClusterControlPlaneSecurityGroup
- Label:
default: Worker Node Configuration
Parameters:
- NodeGroupName
- NodeAutoScalingGroupMinSize
- NodeAutoScalingGroupDesiredCapacity
- NodeAutoScalingGroupMaxSize
- NodeInstanceType
- NodeImageIdSSMParam
- NodeImageId
- NodeVolumeSize
- KeyName
- BootstrapArguments
- DisableIMDSv1
- Label:
default: Worker Network Configuration
Parameters:
- VpcId
- Subnets
- NodeInstanceRole
Parameters:
BootstrapArguments:
Type: String
Default: ""
Description: "Arguments to pass to the bootstrap script. See files/bootstrap.sh in https://github.com/awslabs/amazon-eks-ami"
ClusterControlPlaneSecurityGroup:
Type: "AWS::EC2::SecurityGroup::Id"
Default: CLUSTER_SG
Description: The security group of the cluster control plane.
ClusterName:
Type: String
Default: CLUSTER_NAME
Description: The cluster name provided when the cluster was created. If it is incorrect, nodes will not be able to join the cluster.
KeyName:
Type: "AWS::EC2::KeyPair::KeyName"
Default: KEY_NAME
Description: The EC2 Key Pair to allow SSH access to the instances
NodeAutoScalingGroupDesiredCapacity:
Type: Number
Default: ASG_DESIRED_CAPACITY
Description: Desired capacity of Node Group ASG.
NodeAutoScalingGroupMaxSize:
Type: Number
Default: ASG_MAXSIZE
Description: Maximum size of Node Group ASG. Set to at least 1 greater than NodeAutoScalingGroupDesiredCapacity.
NodeAutoScalingGroupMinSize:
Type: Number
Default: ASG_MINSIZE
Description: Minimum size of Node Group ASG.
NodeGroupName:
Type: String
Default: NODEGROUP_NAME
Description: Unique identifier for the Node Group.
NodeImageId:
Type: String
Default: AMI_IMAGE_ID
Description: (Optional) Specify your own custom image ID. This value overrides any AWS Systems Manager Parameter Store value specified above.
NodeImageIdSSMParam:
Type: "AWS::SSM::Parameter::Value<AWS::EC2::Image::Id>"
Default: /aws/service/eks/optimized-ami/1.17/amazon-linux-2/recommended/image_id
Description: AWS Systems Manager Parameter Store parameter of the AMI ID for the worker node instances. Change this value to match the version of Kubernetes you are using.
DisableIMDSv1:
Type: String
Default: "false"
AllowedValues:
- "false"
- "true"
NodeInstanceType:
Type: String
Default: NODEPOOL_INSTANCE_TYPE
AllowedValues:
- a1.medium
- a1.large
- a1.xlarge
- a1.2xlarge
- a1.4xlarge
- c1.medium
- c1.xlarge
- c3.large
- c3.xlarge
- c3.2xlarge
- c3.4xlarge
- c3.8xlarge
- c4.large
- c4.xlarge
- c4.2xlarge
- c4.4xlarge
- c4.8xlarge
- c5.large
- c5.xlarge
- c5.2xlarge
- c5.4xlarge
- c5.9xlarge
- c5.12xlarge
- c5.18xlarge
- c5.24xlarge
- c5.metal
- c5d.large
- c5d.xlarge
- c5d.2xlarge
- c5d.4xlarge
- c5d.9xlarge
- c5d.12xlarge
- c5d.18xlarge
- c5d.24xlarge
- c5d.metal
- c5n.large
- c5n.xlarge
- c5n.2xlarge
- c5n.4xlarge
- c5n.9xlarge
- c5n.18xlarge
- c6g.medium
- c6g.large
- c6g.xlarge
- c6g.2xlarge
- c6g.4xlarge
- c6g.8xlarge
- c6g.12xlarge
- c6g.16xlarge
- c6g.metal
- c6gd.medium
- c6gd.large
- c6gd.xlarge
- c6gd.2xlarge
- c6gd.4xlarge
- c6gd.8xlarge
- c6gd.12xlarge
- c6gd.16xlarge
- c6gd.metal
- cc2.8xlarge
- cr1.8xlarge
- d2.xlarge
- d2.2xlarge
- d2.4xlarge
- d2.8xlarge
- f1.2xlarge
- f1.4xlarge
- f1.16xlarge
- g2.2xlarge
- g2.8xlarge
- g3s.xlarge
- g3.4xlarge
- g3.8xlarge
- g3.16xlarge
- h1.2xlarge
- h1.4xlarge
- h1.8xlarge
- h1.16xlarge
- hs1.8xlarge
- i2.xlarge
- i2.2xlarge
- i2.4xlarge
- i2.8xlarge
- i3.large
- i3.xlarge
- i3.2xlarge
- i3.4xlarge
- i3.8xlarge
- i3.16xlarge
- i3.metal
- i3en.large
- i3en.xlarge
- i3en.2xlarge
- i3en.3xlarge
- i3en.6xlarge
- i3en.12xlarge
- i3en.24xlarge
- inf1.xlarge
- inf1.2xlarge
- inf1.6xlarge
- inf1.24xlarge
- m1.small
- m1.medium
- m1.large
- m1.xlarge
- m2.xlarge
- m2.2xlarge
- m2.4xlarge
- m3.medium
- m3.large
- m3.xlarge
- m3.2xlarge
- m4.large
- m4.xlarge
- m4.2xlarge
- m4.4xlarge
- m4.10xlarge
- m4.16xlarge
- m5.large
- m5.xlarge
- m5.2xlarge
- m5.4xlarge
- m5.8xlarge
- m5.12xlarge
- m5.16xlarge
- m5.24xlarge
- m5.metal
- m5a.large
- m5a.xlarge
- m5a.2xlarge
- m5a.4xlarge
- m5a.8xlarge
- m5a.12xlarge
- m5a.16xlarge
- m5a.24xlarge
- m5ad.large
- m5ad.xlarge
- m5ad.2xlarge
- m5ad.4xlarge
- m5ad.12xlarge
- m5ad.24xlarge
- m5d.large
- m5d.xlarge
- m5d.2xlarge
- m5d.4xlarge
- m5d.8xlarge
- m5d.12xlarge
- m5d.16xlarge
- m5d.24xlarge
- m5d.metal
- m5dn.large
- m5dn.xlarge
- m5dn.2xlarge
- m5dn.4xlarge
- m5dn.8xlarge
- m5dn.12xlarge
- m5dn.16xlarge
- m5dn.24xlarge
- m5n.large
- m5n.xlarge
- m5n.2xlarge
- m5n.4xlarge
- m5n.8xlarge
- m5n.12xlarge
- m5n.16xlarge
- m5n.24xlarge
- m6g.medium
- m6g.large
- m6g.xlarge
- m6g.2xlarge
- m6g.4xlarge
- m6g.8xlarge
- m6g.12xlarge
- m6g.16xlarge
- m6g.metal
- m6gd.medium
- m6gd.large
- m6gd.xlarge
- m6gd.2xlarge
- m6gd.4xlarge
- m6gd.8xlarge
- m6gd.12xlarge
- m6gd.16xlarge
- m6gd.metal
- p2.xlarge
- p2.8xlarge
- p2.16xlarge
- p3.2xlarge
- p3.8xlarge
- p3.16xlarge
- p3dn.24xlarge
- g4dn.xlarge
- g4dn.2xlarge
- g4dn.4xlarge
- g4dn.8xlarge
- g4dn.12xlarge
- g4dn.16xlarge
- g4dn.metal
- r3.large
- r3.xlarge
- r3.2xlarge
- r3.4xlarge
- r3.8xlarge
- r4.large
- r4.xlarge
- r4.2xlarge
- r4.4xlarge
- r4.8xlarge
- r4.16xlarge
- r5.large
- r5.xlarge
- r5.2xlarge
- r5.4xlarge
- r5.8xlarge
- r5.12xlarge
- r5.16xlarge
- r5.24xlarge
- r5.metal
- r5a.large
- r5a.xlarge
- r5a.2xlarge
- r5a.4xlarge
- r5a.8xlarge
- r5a.12xlarge
- r5a.16xlarge
- r5a.24xlarge
- r5ad.large
- r5ad.xlarge
- r5ad.2xlarge
- r5ad.4xlarge
- r5ad.12xlarge
- r5ad.24xlarge
- r5d.large
- r5d.xlarge
- r5d.2xlarge
- r5d.4xlarge
- r5d.8xlarge
- r5d.12xlarge
- r5d.16xlarge
- r5d.24xlarge
- r5d.metal
- r5dn.large
- r5dn.xlarge
- r5dn.2xlarge
- r5dn.4xlarge
- r5dn.8xlarge
- r5dn.12xlarge
- r5dn.16xlarge
- r5dn.24xlarge
- r5n.large
- r5n.xlarge
- r5n.2xlarge
- r5n.4xlarge
- r5n.8xlarge
- r5n.12xlarge
- r5n.16xlarge
- r5n.24xlarge
- r6g.medium
- r6g.large
- r6g.xlarge
- r6g.2xlarge
- r6g.4xlarge
- r6g.8xlarge
- r6g.12xlarge
- r6g.16xlarge
- r6g.metal
- r6gd.medium
- r6gd.large
- r6gd.xlarge
- r6gd.2xlarge
- r6gd.4xlarge
- r6gd.8xlarge
- r6gd.12xlarge
- r6gd.16xlarge
- r6gd.metal
- t1.micro
- t2.nano
- t2.micro
- t2.small
- t2.medium
- t2.large
- t2.xlarge
- t2.2xlarge
- t3.nano
- t3.micro
- t3.small
- t3.medium
- t3.large
- t3.xlarge
- t3.2xlarge
- t3a.nano
- t3a.micro
- t3a.small
- t3a.medium
- t3a.large
- t3a.xlarge
- t3a.2xlarge
- u-6tb1.metal
- u-9tb1.metal
- u-12tb1.metal
- x1.16xlarge
- x1.32xlarge
- x1e.xlarge
- x1e.2xlarge
- x1e.4xlarge
- x1e.8xlarge
- x1e.16xlarge
- x1e.32xlarge
- z1d.large
- z1d.xlarge
- z1d.2xlarge
- z1d.3xlarge
- z1d.6xlarge
- z1d.12xlarge
- z1d.metal
ConstraintDescription: Must be a valid EC2 instance type
Description: EC2 instance type for the node instances
NodeVolumeSize:
Type: Number
Default: NODE_DISK_SIZE
Description: Node volume size
Subnets:
Type: "CommaDelimitedList"
Default: SUBNET01
Description: The subnets where workers can be created.
VpcId:
Type: "AWS::EC2::VPC::Id"
Default: VPCID
Description: The VPC of the worker instances
NodeInstanceRole:
Type: String
Default: NODE_INSTANCE_ROLE
Description: The node instance role of the worker instances
Mappings:
PartitionMap:
aws:
EC2ServicePrincipal: "ec2.amazonaws.com"
aws-us-gov:
EC2ServicePrincipal: "ec2.amazonaws.com"
aws-cn:
EC2ServicePrincipal: "ec2.amazonaws.com.cn"
aws-iso:
EC2ServicePrincipal: "ec2.c2s.ic.gov"
aws-iso-b:
EC2ServicePrincipal: "ec2.sc2s.sgov.gov"
Conditions:
HasNodeImageId: !Not
- "Fn::Equals":
- !Ref NodeImageId
- ""
IMDSv1Disabled:
"Fn::Equals":
- !Ref DisableIMDSv1
- "true"
Resources:
NodeInstanceProfile:
Type: "AWS::IAM::InstanceProfile"
Properties:
Path: /
Roles:
- !Ref NodeInstanceRole
NodeSecurityGroup:
Type: "AWS::EC2::SecurityGroup"
Properties:
GroupDescription: Security group for all nodes in the cluster
Tags:
- Key: !Sub kubernetes.io/cluster/${ClusterName}
Value: owned
VpcId: !Ref VpcId
NodeSecurityGroupIngress:
Type: "AWS::EC2::SecurityGroupIngress"
DependsOn: NodeSecurityGroup
Properties:
Description: Allow node to communicate with each other
FromPort: 0
GroupId: !Ref NodeSecurityGroup
IpProtocol: "-1"
SourceSecurityGroupId: !Ref NodeSecurityGroup
ToPort: 65535
ClusterControlPlaneToNodeSecurityGroupIngress:
Type: "AWS::EC2::SecurityGroupIngress"
DependsOn: NodeSecurityGroup
Properties:
Description: Allow pods to communicate with the cluster API Server
FromPort: 0
GroupId: !Ref ClusterControlPlaneSecurityGroup
IpProtocol: "-1"
SourceSecurityGroupId: !Ref NodeSecurityGroup
ToPort: 65535
ClusterControlPlaneSecurityGroupIngress:
Type: "AWS::EC2::SecurityGroupIngress"
DependsOn: NodeSecurityGroup
Properties:
Description: Allow pods to communicate with the cluster API Server1
FromPort: 0
GroupId: !Ref ClusterControlPlaneSecurityGroup
IpProtocol: "-1"
SourceSecurityGroupId: !Ref ClusterControlPlaneSecurityGroup
ToPort: 65535
ClusterControlPlaneEgressToNodeSecurityGroup:
Type: "AWS::EC2::SecurityGroupEgress"
DependsOn: NodeSecurityGroup
Properties:
Description: Allow the cluster control plane to communicate with worker Kubelet and pods
GroupId: !Ref ClusterControlPlaneSecurityGroup
CidrIp: 0.0.0.0/0
FromPort: 0
IpProtocol: "-1"
ToPort: 65535
ClusterControlPlaneIngressForStoridgeAPIOn8282:
Type: "AWS::EC2::SecurityGroupIngress"
DependsOn: NodeSecurityGroup
Properties:
Description: Allow goPaddle/User to access the Storidge API on 8282
FromPort: 8282
GroupId: !Ref ClusterControlPlaneSecurityGroup
IpProtocol: tcp
CidrIp: 0.0.0.0/0
ToPort: 8282
ClusterControlPlaneIngressForGrafanaOn32000:
Type: "AWS::EC2::SecurityGroupIngress"
DependsOn: NodeSecurityGroup
Properties:
Description: Allow users to access the Grafana on 32000
FromPort: 32000
GroupId: !Ref ClusterControlPlaneSecurityGroup
IpProtocol: tcp
CidrIp: 0.0.0.0/0
ToPort: 32000
NodeLaunchTemplate:
Type: "AWS::EC2::LaunchTemplate"
Properties:
LaunchTemplateData:
BlockDeviceMappings:
- DeviceName: /dev/xvda
Ebs:
DeleteOnTermination: true
VolumeSize: !Ref NodeVolumeSize
VolumeType: gp2
IamInstanceProfile:
Arn: !GetAtt NodeInstanceProfile.Arn
ImageId: !If
- HasNodeImageId
- !Ref NodeImageId
- !Ref NodeImageIdSSMParam
InstanceType: !Ref NodeInstanceType
KeyName: !Ref KeyName
SecurityGroupIds:
- !Ref NodeSecurityGroup
- !Ref ClusterControlPlaneSecurityGroup
UserData: !Base64
"Fn::Sub": |
#!/bin/bash
set -o xtrace
/etc/eks/bootstrap.sh ${ClusterName} --kubelet-extra-args --node-labels=nodePoolName=NODEGROUP_NAME
/opt/aws/bin/cfn-signal --exit-code $? \
--stack ${AWS::StackName} \
--resource NodeGroup \
--region ${AWS::Region}
MetadataOptions:
HttpPutResponseHopLimit : 2
HttpEndpoint: enabled
HttpTokens: !If
- IMDSv1Disabled
- required
- optional
NodeGroup:
Type: "AWS::AutoScaling::AutoScalingGroup"
Properties:
DesiredCapacity: !Ref NodeAutoScalingGroupDesiredCapacity
LaunchTemplate:
LaunchTemplateId: !Ref NodeLaunchTemplate
Version: !GetAtt NodeLaunchTemplate.LatestVersionNumber
MaxSize: !Ref NodeAutoScalingGroupMaxSize
MinSize: !Ref NodeAutoScalingGroupMinSize
Tags:
- Key: Name
PropagateAtLaunch: true
Value: !Sub ${ClusterName}-${NodeGroupName}-Node
- Key: !Sub kubernetes.io/cluster/${ClusterName}
PropagateAtLaunch: true
Value: owned
VPCZoneIdentifier: !Ref Subnets
UpdatePolicy:
AutoScalingRollingUpdate:
MaxBatchSize: 1
MinInstancesInService: !Ref NodeAutoScalingGroupDesiredCapacity
PauseTime: PT5M
Outputs:
NodeSecurityGroup:
Description: The security group for the node group
Value: !Ref NodeSecurityGroup
NodeAutoScalingGroup:
Description: The autoscaling group
Value: !Ref NodeGroup

View File

@ -1,27 +0,0 @@
AWSTemplateFormatVersion: "2010-09-09"
Description: Amazon EKS - Node Group Role
Resources:
NodeInstanceRole:
Type: "AWS::IAM::Role"
Properties:
AssumeRolePolicyDocument:
Version: "2012-10-17"
Statement:
- Effect: Allow
Principal:
Service:
- ec2.amazonaws.com
Action:
- "sts:AssumeRole"
ManagedPolicyArns:
- "arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy"
- "arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy"
- "arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly"
Path: /
Outputs:
NodeInstanceRole:
Description: The node instance role
Value: !GetAtt NodeInstanceRole.Arn

View File

@ -1,624 +0,0 @@
{
"rabbitmq":{
"mq-protocol":"amqp",
"mq-user":"admin",
"mq-password":"cGFzc3dvcmQ",
"mq-ip":"rabbitmq",
"mq-port":"5672",
"mq-apps-host":"/apps",
"mq-apps-queue":"apps-worker-queue"
},
"esearch":{
"es-user":"elastic",
"es-password":"cGFzc3dvcmQ",
"es-endpoints":[
"http://esearch:9200"
]
},
"gopaddleTools":{
"prometheus":{
"gatewayEndpoint":"NODE_IP",
"gatewayAPI":"/api/%s/v1/%s/application/datacollector/datapoint",
"influxDBs":{
"influxDB-1":{
"dbEndpoint":"http://influxdb:8086",
"dbUser":"admin",
"dbPassword":"cGFzc3dvcmQ",
"maxUserCount":"100",
"isEnabled":true
}
}
},
"eventHandler":{
"gatewayEndpoint":"NODE_IP",
"gatewayAPI":"/api/%s/v1/%s/application/clusterInfo/%s/datacollector/eventhandler"
}
},
"mongodb":{
"db-name":"clustermanager",
"db-endpoint":[
"mongodb:27017"
],
"db-port":"27017",
"user-db":"admin",
"db-user":"admin",
"db-password":"cGFzc3dvcmQ"
},
"redis":{
"redis-endpoint":"redis",
"redis-port":"6379",
"redis-password":"avraj"
},
"cluster":{
"createAKS":"https://management.azure.com/subscriptions/:subscriptionID/resourceGroups/:resourceGroupName/providers/Microsoft.ContainerService/managedClusters/:name?api-version=2020-06-01",
"createAKSNodePool":"https://management.azure.com/subscriptions/:subscriptionID/resourceGroups/:resourceGroupName/providers/Microsoft.ContainerService/managedClusters/:name/agentPools/:nodePoolName?api-version=2020-06-01",
"getAKSNodePool":"https://management.azure.com/subscriptions/:subscriptionID/resourceGroups/:resourceGroupName/providers/Microsoft.ContainerService/managedClusters/:name/agentPools/:nodePoolName?api-version=2020-06-01",
"scaleAKSNodePool":"https://management.azure.com/subscriptions/:subscriptionID/resourceGroups/:resourceGroupName/providers/Microsoft.ContainerService/managedClusters/:name/agentPools/:nodePoolName?api-version=2020-06-01",
"getAKS":"https://management.azure.com/subscriptions/:subscriptionID/resourceGroups/:resourceGroupName/providers/Microsoft.ContainerService/managedClusters/:name?api-version=2020-06-01",
"getAKSClusterConfig":"https://management.azure.com/subscriptions/:subscriptionID/resourceGroups/:resourceGroupName/providers/Microsoft.ContainerService/managedClusters/:name/listClusterUserCredential?api-version=2020-06-01",
"getAKSResourceGroup":"https://management.azure.com/subscriptions/:subscriptionID/resourcegroups/:resourceGroupName?api-version=2020-06-01",
"createAKSResourceGroup":"https://management.azure.com/subscriptions/:subscriptionID/resourcegroups/:resourceGroupName?api-version=2020-06-01",
"deleteAKSResourceGroup":"https://management.azure.com/subscriptions/:subscriptionID/resourcegroups/:resourceGroupName?api-version=2020-06-01",
"getSubscriptionsAKS":"https://management.azure.com/subscriptions?api-version=2020-06-01",
"platformURL":"api/:accID/platform/:platformID?operation=secrets&organizationID=:organizationID",
"createGCE":"https://container.googleapis.com/v1/projects/:projectID/locations/:location/clusters",
"createGCENodePool":"https://container.googleapis.com/v1/projects/:projectID/locations/:location/clusters/:name/nodePools",
"getGCENodePool":"https://container.googleapis.com/v1/projects/:projectID/locations/:location/clusters/:name/nodePools/:nodePoolName",
"getGCEByName":"https://container.googleapis.com/v1/projects/:project_id/zones/:zone/clusters/:name",
"oauthScopes":"https://www.googleapis.com/auth/devstorage.read_only",
"getGCE":"https://container.googleapis.com/v1/projects/:projectID/locations/:location/clusters/:name",
"updateGCENodePoolSize":"https://container.googleapis.com/v1/projects/:projectID/locations/:location/clusters/:name/nodePools/:nodePoolName:setSize",
"getGCEInstanceGroup":"https://compute.googleapis.com/compute/v1/projects/:projectID/zones/:location/instanceGroups/:instanceGroupName/listInstances",
"getGCEInstance":"https://compute.googleapis.com/compute/v1/projects/:projectID/zones/:location/instances/:instanceName",
"getGCEProjects":"https://cloudresourcemanager.googleapis.com/v1/projects",
"listAKSResourceGroups":"https://management.azure.com/subscriptions/:subscriptionID/resourcegroups?api-version=2020-06-01",
"listVMSS":"https://management.azure.com/subscriptions/:subscriptionID/resourceGroups/:resourceGroupName/providers/Microsoft.Compute/virtualMachineScaleSets?api-version=2020-06-01",
"listVMSSInstance":"https://management.azure.com/subscriptions/:subscriptionID/resourceGroups/:resourceGroupName/providers/Microsoft.Compute/virtualMachineScaleSets/:vmss/virtualMachines?api-version=2020-06-01",
"listVMSSInterface":"https://management.azure.com/subscriptions/:subscriptionID/resourceGroups/:resourceGroupName/providers/microsoft.Compute/virtualMachineScaleSets/:vmss/networkInterfaces?api-version=2018-10-01",
"azureAutoScale":"https://management.azure.com/subscriptions/:subscriptionID/resourcegroups/:resourceGroupName/providers/microsoft.insights/autoscalesettings/:autoScaleName?api-version=2015-04-01"
},
"aksServicePrincipalApp":{
"clientID":"164192b6-cccf-4ef0-b147-eead3ac31512",
"secret":"s0e]FceLcdbTu@]/sO01g76Q5rBIeoLj"
},
"instantsTypes":{
"eks":{
"versions":[
"1.19",
"1.20",
"1.21",
"1.22"
],
"cpuInstances":[
"t3.micro",
"t3.small",
"t3.medium",
"t3.large",
"t3.xlarge",
"t3.2xlarge",
"t3a.micro",
"t3a.small",
"t3a.medium",
"t3a.large",
"t3a.xlarge",
"t3a.2xlarge",
"m5.large",
"m5.xlarge",
"m5.2xlarge",
"m5.4xlarge",
"m5.8xlarge",
"m5.12xlarge",
"m5a.large",
"m5a.xlarge",
"m5a.2xlarge",
"m5a.4xlarge",
"c5.large",
"c5.xlarge",
"c5.2xlarge",
"c5.4xlarge",
"c5.9xlarge",
"r5.large",
"r5.xlarge",
"r5.2xlarge",
"r5.4xlarge",
"r5a.large",
"r5a.xlarge",
"r5a.2xlarge",
"r5a.4xlarge"
],
"gpuInstances":[
"g4dn.xlarge",
"g4dn.2xlarge",
"g4dn.4xlarge",
"g4dn.8xlarge",
"g4dn.12xlarge",
"p2.xlarge",
"p2.8xlarge",
"p2.16xlarge",
"p3.2xlarge",
"p3.8xlarge",
"p3.16xlarge",
"p3dn.24xlarge"
],
"armInstances":[
"m6g.medium",
"m6g.large",
"m6g.xlarge",
"m6g.2xlarge",
"m6g.4xlarge",
"m6g.8xlarge",
"m6g.12xlarge",
"m6g.16xlarge",
"c6g.medium",
"c6g.large",
"c6g.xlarge",
"c6g.2xlarge",
"c6g.4xlarge",
"c6g.8xlarge",
"c6g.12xlarge",
"c6g.16xlarge",
"r6g.medium",
"r6g.large",
"r6g.xlarge",
"r6g.2xlarge",
"r6g.4xlarge",
"r6g.8xlarge",
"r6g.12xlarge",
"r6g.16xlarge"
],
"regions":[
"us-east-1",
"us-east-2",
"us-west-2",
"ap-east-1",
"ap-south-1",
"ap-northeast-2",
"ap-southeast-1",
"ap-southeast-2",
"ap-northeast-1",
"ca-central-1",
"eu-central-1",
"eu-west-1",
"eu-west-2",
"eu-west-3",
"eu-north-1",
"me-south-1",
"sa-east-1"
],
"us-east-1":[
"us-east-1a",
"us-east-1b",
"us-east-1c",
"us-east-1d",
"us-east-1e",
"us-east-1f"
],
"us-east-2":[
"us-east-2a",
"us-east-2b",
"us-east-2c"
],
"us-west-2":[
"us-west-2a",
"us-west-2b",
"us-west-2c",
"us-west-2d"
],
"ap-east-1":[
],
"ap-south-1":[
"ap-south-1a",
"ap-south-1b",
"ap-south-1c"
],
"ap-northeast-2":[
"ap-northeast-2a",
"ap-northeast-2b",
"ap-northeast-2c"
],
"ap-southeast-1":[
"ap-southeast-1a",
"ap-southeast-1b",
"ap-southeast-1c"
],
"ap-southeast-2":[
"ap-southeast-2a",
"ap-southeast-2b",
"ap-southeast-2c"
],
"ap-northeast-1":[
"ap-northeast-1a",
"ap-northeast-1b",
"ap-northeast-1c",
"ap-northeast-1d"
],
"ca-central-1":[
"ca-central-1a",
"ca-central-1b"
],
"eu-central-1":[
"eu-central-1a",
"eu-central-1b",
"eu-central-1c"
],
"eu-west-1":[
"eu-west-1a",
"eu-west-1b",
"eu-west-1c"
],
"eu-west-2":[
"eu-west-2a",
"eu-west-2b",
"eu-west-2c"
],
"eu-west-3":[
"eu-west-3a",
"eu-west-3b",
"eu-west-3c"
],
"eu-north-1":[
"eu-north-1a",
"eu-north-1b",
"eu-north-1c"
],
"me-south-1":[
],
"sa-east-1":[
"sa-east-1a",
"sa-east-1b",
"sa-east-1c"
]
},
"aks":{
"instanceTypes":[
"Standard_A1",
"Standard_A10",
"Standard_A11",
"Standard_A1_v2",
"Standard_A2",
"Standard_A2_v2",
"Standard_A2m_v2",
"Standard_A3",
"Standard_A4",
"Standard_A4_v2",
"Standard_A4m_v2",
"Standard_A5",
"Standard_A6",
"Standard_A7",
"Standard_A8",
"Standard_A8_v2",
"Standard_A8m_v2",
"Standard_A9",
"Standard_B2ms",
"Standard_B2s",
"Standard_B4ms",
"Standard_B8ms",
"Standard_D1",
"Standard_D11",
"Standard_D11_v2",
"Standard_D11_v2_Promo",
"Standard_D12",
"Standard_D12_v2",
"Standard_D12_v2_Promo",
"Standard_D13",
"Standard_D13_v2",
"Standard_D13_v2_Promo",
"Standard_D14",
"Standard_D14_v2",
"Standard_D14_v2_Promo",
"Standard_D15_v2",
"Standard_D16_v3",
"Standard_D16s_v3",
"Standard_D1_v2",
"Standard_D2",
"Standard_D2_v2",
"Standard_D2_v2_Promo",
"Standard_D2_v3",
"Standard_D2s_v3",
"Standard_D3",
"Standard_D32_v3",
"Standard_D32s_v3",
"Standard_D3_v2",
"Standard_D3_v2_Promo",
"Standard_D4",
"Standard_D4_v2",
"Standard_D4_v2_Promo",
"Standard_D4_v3",
"Standard_D4s_v3",
"Standard_D5_v2",
"Standard_D5_v2_Promo",
"Standard_D64_v3",
"Standard_D64s_v3",
"Standard_D8_v3",
"Standard_D8s_v3",
"Standard_DS1",
"Standard_DS11",
"Standard_DS11_v2",
"Standard_DS11_v2_Promo",
"Standard_DS12",
"Standard_DS12_v2",
"Standard_DS12_v2_Promo",
"Standard_DS13",
"Standard_DS13-2_v2",
"Standard_DS13-4_v2",
"Standard_DS13_v2",
"Standard_DS13_v2_Promo",
"Standard_DS14",
"Standard_DS14-4_v2",
"Standard_DS14-8_v2",
"Standard_DS14_v2",
"Standard_DS14_v2_Promo",
"Standard_DS15_v2",
"Standard_DS1_v2",
"Standard_DS2",
"Standard_DS2_v2",
"Standard_DS2_v2_Promo",
"Standard_DS3",
"Standard_DS3_v2",
"Standard_DS3_v2_Promo",
"Standard_DS4",
"Standard_DS4_v2",
"Standard_DS4_v2_Promo",
"Standard_DS5_v2",
"Standard_DS5_v2_Promo",
"Standard_E16_v3",
"Standard_E16s_v3",
"Standard_E2_v3",
"Standard_E2s_v3",
"Standard_E32-16s_v3",
"Standard_E32-8s_v3",
"Standard_E32_v3",
"Standard_E32s_v3",
"Standard_E4_v3",
"Standard_E4s_v3",
"Standard_E64-16s_v3",
"Standard_E64-32s_v3",
"Standard_E64_v3",
"Standard_E64s_v3",
"Standard_E8_v3",
"Standard_E8s_v3",
"Standard_F1",
"Standard_F16",
"Standard_F16s",
"Standard_F16s_v2",
"Standard_F1s",
"Standard_F2",
"Standard_F2s",
"Standard_F2s_v2",
"Standard_F32s_v2",
"Standard_F4",
"Standard_F4s",
"Standard_F4s_v2",
"Standard_F64s_v2",
"Standard_F72s_v2",
"Standard_F8",
"Standard_F8s",
"Standard_F8s_v2",
"Standard_G1",
"Standard_G2",
"Standard_G3",
"Standard_G4",
"Standard_G5",
"Standard_GS1",
"Standard_GS2",
"Standard_GS3",
"Standard_GS4",
"Standard_GS4-4",
"Standard_GS4-8",
"Standard_GS5",
"Standard_GS5-16",
"Standard_GS5-8",
"Standard_H16",
"Standard_H16m",
"Standard_H16mr",
"Standard_H16r",
"Standard_H8",
"Standard_H8m",
"Standard_L16s",
"Standard_L32s",
"Standard_L4s",
"Standard_L8s",
"Standard_M128-32ms",
"Standard_M128-64ms",
"Standard_M128ms",
"Standard_M128s",
"Standard_M64-16ms",
"Standard_M64-32ms",
"Standard_M64ms",
"Standard_M64s",
"Standard_NC12",
"Standard_NC12s_v2",
"Standard_NC12s_v3",
"Standard_NC24",
"Standard_NC24r",
"Standard_NC24rs_v2",
"Standard_NC24rs_v3",
"Standard_NC24s_v2",
"Standard_NC24s_v3",
"Standard_NC6",
"Standard_NC6s_v2",
"Standard_NC6s_v3",
"Standard_ND12s",
"Standard_ND24rs",
"Standard_ND24s",
"Standard_ND6s",
"Standard_NV12",
"Standard_NV24",
"Standard_NV6"
],
"regions":[
"eastus",
"eastus2",
"sounthcentralus",
"westus2",
"centralus",
"northcentralus",
"westus",
"southafricanorth",
"australiaeast",
"southeastasia",
"centralindia",
"eastasia",
"japaneast",
"koreacentral",
"canadacentral",
"northeurope",
"uksouth",
"westeurope",
"francecentral",
"germanywestcentral",
"norwayeast",
"switzerlandnorth",
"brazilsouth",
"australiasoutheast",
"japanwest",
"koreasouth",
"southindia",
"canadaeast",
"germanynorth",
"norwaywest",
"switzerlandwest",
"ukwest",
"uaenorth"
]
},
"gke":{
"instanceTypes":[
"f1-micro",
"g1-small",
"n1-standard-1",
"n1-standard-2",
"n1-standard-4",
"n1-standard-8",
"n1-standard-16",
"n1-standard-32",
"n1-standard-64",
"n1-standard-96",
"n1-highmem-2",
"n1-highmem-4",
"n1-highmem-8",
"n1-highmem-16",
"n1-highmem-32",
"n1-highmem-64",
"n1-highmem-96",
"n1-highcpu-2",
"n1-highcpu-4",
"n1-highcpu-8",
"n1-highcpu-16",
"n1-highcpu-32",
"n1-highcpu-64",
"n1-highcpu-96",
"n1-megamem-96",
"n1-ultramem-40",
"n1-ultramem-80",
"n1-ultramem-160",
"e2-micro",
"e2-small",
"e2-medium",
"e2-standard-2",
"e2-standard-4",
"e2-standard-8",
"e2-standard-16",
"e2-highmem-2",
"e2-highmem-4",
"e2-highmem-8",
"e2-highmem-16",
"e2-highcpu-2",
"e2-highcpu-4",
"e2-highcpu-8",
"e2-highcpu-16",
"n2-standard-2",
"n2-standard-4",
"n2-standard-8",
"n2-standard-16",
"n2-standard-32",
"n2-standard-48",
"n2-standard-64",
"n2-standard-80",
"n2-highmem-2",
"n2-highmem-4",
"n2-highmem-8",
"n2-highmem-16",
"n2-highmem-32",
"n2-highmem-48",
"n2-highmem-64",
"n2-highmem-80",
"n2-highcpu-2",
"n2-highcpu-4",
"n2-highcpu-8",
"n2-highcpu-16",
"n2-highcpu-32",
"n2-highcpu-48",
"n2-highcpu-64",
"n2-highcpu-80",
"m1-megamem-96",
"m1-ultramem-40",
"m1-ultramem-80",
"m1-ultramem-160"
],
"regions":[
"asia-east1-a",
"asia-east1-b",
"asia-east1-c",
"asia-east2-a",
"asia-east2-b",
"asia-east2-c",
"asia-northeast1-a",
"asia-northeast1-b",
"asia-northeast1-c",
"asia-northeast2-a",
"asia-northeast2-b",
"asia-northeast2-c",
"asia-south1-a",
"asia-south1-b",
"asia-south1-c",
"asia-southeast1-a",
"asia-southeast1-b",
"asia-southeast1-c",
"australia-southeast1-a",
"australia-southeast1-b",
"australia-southeast1-c",
"europe-north1-a",
"europe-north1-b",
"europe-north1-c",
"europe-west1-b",
"europe-west1-c",
"europe-west1-d",
"europe-west2-a",
"europe-west2-b",
"europe-west2-c",
"europe-west3-a",
"europe-west3-b",
"europe-west3-c",
"europe-west4-a",
"europe-west4-b",
"europe-west4-c",
"europe-west6-a",
"europe-west6-b",
"europe-west6-c",
"northamerica-northeast1-a",
"northamerica-northeast1-b",
"northamerica-northeast1-c",
"southamerica-east1-a",
"southamerica-east1-b",
"southamerica-east1-c",
"us-central1-a",
"us-central1-b",
"us-central1-c",
"us-central1-f",
"us-east1-b",
"us-east1-c",
"us-east1-d",
"us-east4-a",
"us-east4-b",
"us-east4-c",
"us-west1-a",
"us-west1-b",
"us-west1-c",
"us-west2-a",
"us-west2-b",
"us-west2-c"
]
}
}
}

View File

@ -1,50 +0,0 @@
{
"configmanager.ep": {
"host": "configmanager",
"port": "8001"
},
"platform.ep":{
"host":"core",
"port":"8759"
},
"cloudaccount.ep":{
"host":"cloudmanager",
"port":"8018"
},
"clustermanager.ep":{
"host":"clustermanager",
"port":"8013"
},
"nodechecker.ep":{
"host":"nodechecker",
"port":"8020"
},
"billing.ep":{
"host":"costmanager",
"port":"8011"
},
"application.ep":{
"host":"deploymentmanager",
"port":"8003"
},
"usermanager.ep":{
"host":"usermanager",
"port":"8005"
},
"notification.ep":{
"host":"activitymanager",
"port":"8009"
},
"appscanner.ep":{
"host":"appscanner",
"port":"8022"
},
"codebase.ep": {
"host": "gpcore",
"port": "8759"
},
"domainmanager.ep":{
"host":"domainmanager",
"port":"8004"
}
}

View File

@ -1,195 +0,0 @@
{
"schemaVersion": "0.3",
"description": "Composite document for Quick Setup Managing Instances association. This document ensures IAM role for instance profile is created in account with all required policies",
"assumeRole": "{{AutomationAssumeRole}}",
"parameters": {
"AutomationAssumeRole": {
"type": "String"
},
"InstanceId": {
"type": "String"
},
"IsPolicyAttachAllowed": {
"type": "String"
}
},
"mainSteps": [
{
"outputs": [
{
"Type": "String",
"Name": "existingInstanceProfileRoleName",
"Selector": "$.Payload.RoleName"
}
],
"inputs": {
"Script": "import boto3\n\ndef getInstanceProfileName(events, context):\n ec2_client = boto3.client(\"ec2\")\n response = ec2_client.describe_instances(InstanceIds=[events[\"InstanceId\"]])\n if 'IamInstanceProfile' in response['Reservations'][0]['Instances'][0]:\n return {'RoleName': response['Reservations'][0]['Instances'][0]['IamInstanceProfile']['Arn'].split('/').pop()}\n return {'RoleName': 'NoRoleFound'}",
"Runtime": "python3.6",
"InputPayload": {
"InstanceId": "{{InstanceId}}"
},
"Handler": "getInstanceProfileName"
},
"name": "getExistingRoleName",
"action": "aws:executeScript",
"nextStep": "branchIfProfileExists"
},
{
"inputs": {
"Choices": [
{
"StringEquals": "NoRoleFound",
"Variable": "{{getExistingRoleName.existingInstanceProfileRoleName}}",
"NextStep": "createRoleIfNotExists"
}
],
"Default": "checkIfPolicyAttachAllowed"
},
"name": "branchIfProfileExists",
"action": "aws:branch"
},
{
"inputs": {
"Choices": [
{
"StringEquals": "true",
"Variable": "{{IsPolicyAttachAllowed}}",
"NextStep": "getRoleFromInstanceProfile"
}
],
"Default": "createRoleIfNotExists"
},
"name": "checkIfPolicyAttachAllowed",
"action": "aws:branch"
},
{
"outputs": [
{
"Type": "String",
"Name": "existingRoleName",
"Selector": "$.InstanceProfile.Roles[0].RoleName"
}
],
"inputs": {
"InstanceProfileName": "{{getExistingRoleName.existingInstanceProfileRoleName}}",
"Service": "iam",
"Api": "GetInstanceProfile"
},
"name": "getRoleFromInstanceProfile",
"action": "aws:executeAwsApi",
"nextStep": "attachAmazonSSMManagedInstanceCoreToExistingRole"
},
{
"inputs": {
"RoleName": "{{getRoleFromInstanceProfile.existingRoleName}}",
"PolicyArn": "arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore",
"Service": "iam",
"Api": "AttachRolePolicy"
},
"name": "attachAmazonSSMManagedInstanceCoreToExistingRole",
"action": "aws:executeAwsApi",
"nextStep": "attachAmazonSSMPatchAssociationToExistingRole"
},
{
"inputs": {
"RoleName": "{{getRoleFromInstanceProfile.existingRoleName}}",
"PolicyArn": "arn:aws:iam::aws:policy/AmazonSSMPatchAssociation",
"Service": "iam",
"Api": "AttachRolePolicy"
},
"name": "attachAmazonSSMPatchAssociationToExistingRole",
"action": "aws:executeAwsApi",
"isEnd": true
},
{
"inputs": {
"Path": "/",
"RoleName": "AmazonSSMRoleForInstancesQuickSetup",
"Description": "EC2 role for SSM for Quick-Setup",
"AssumeRolePolicyDocument": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"Service\":\"ec2.amazonaws.com\"},\"Action\":\"sts:AssumeRole\"}]}",
"Service": "iam",
"Api": "CreateRole"
},
"name": "createRoleIfNotExists",
"action": "aws:executeAwsApi",
"description": "Create AmazonSSMRoleForInstancesQuickSetup Role For SSM Quick Setup",
"onFailure": "Continue",
"nextStep": "assertRoleForInstanceProfileExists"
},
{
"inputs": {
"PropertySelector": "$.Role.RoleName",
"RoleName": "AmazonSSMRoleForInstancesQuickSetup",
"DesiredValues": [
"AmazonSSMRoleForInstancesQuickSetup"
],
"Service": "iam",
"Api": "GetRole"
},
"name": "assertRoleForInstanceProfileExists",
"action": "aws:assertAwsResourceProperty",
"nextStep": "attachAmazonSSMManagedInstanceCoreToRole"
},
{
"inputs": {
"RoleName": "AmazonSSMRoleForInstancesQuickSetup",
"PolicyArn": "arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore",
"Service": "iam",
"Api": "AttachRolePolicy"
},
"name": "attachAmazonSSMManagedInstanceCoreToRole",
"action": "aws:executeAwsApi",
"nextStep": "attachAmazonSSMPatchAssociationToRole"
},
{
"inputs": {
"RoleName": "AmazonSSMRoleForInstancesQuickSetup",
"PolicyArn": "arn:aws:iam::aws:policy/AmazonSSMPatchAssociation",
"Service": "iam",
"Api": "AttachRolePolicy"
},
"name": "attachAmazonSSMPatchAssociationToRole",
"action": "aws:executeAwsApi",
"nextStep": "createInstanceProfileIfNotExists"
},
{
"inputs": {
"InstanceProfileName": "AmazonSSMRoleForInstancesQuickSetup",
"Service": "iam",
"Api": "CreateInstanceProfile"
},
"name": "createInstanceProfileIfNotExists",
"action": "aws:executeAwsApi",
"onFailure": "Continue",
"nextStep": "addRoleToInstanceProfile"
},
{
"inputs": {
"RoleName": "AmazonSSMRoleForInstancesQuickSetup",
"InstanceProfileName": "AmazonSSMRoleForInstancesQuickSetup",
"Service": "iam",
"Api": "AddRoleToInstanceProfile"
},
"name": "addRoleToInstanceProfile",
"action": "aws:executeAwsApi",
"onFailure": "Continue",
"nextStep": "executeAttachIAMToInstance"
},
{
"maxAttempts": 10,
"inputs": {
"RuntimeParameters": {
"AutomationAssumeRole": "{{ AutomationAssumeRole }}",
"RoleName": "AmazonSSMRoleForInstancesQuickSetup",
"InstanceId": "{{ InstanceId }}",
"ForceReplace": false
},
"DocumentName": "AWS-AttachIAMToInstance"
},
"name": "executeAttachIAMToInstance",
"action": "aws:executeAutomation",
"timeoutSeconds": 60,
"isEnd": true
}
]
}

View File

@ -1,39 +0,0 @@
{
"all":{
"DATA_PERSISTANCE":"Internal Error; (Failed to store data)",
"DATA_RETRIVE":"Internal Error; (Failed to retrive data)",
"INTERNAL_SERVER":"Internal Error; Unable to communicate with internal-server",
"INTERNAL_SERVER_ERROR":"Internal Error; Try after sometime",
"RESOURCE_NOT_FOUND":"Resource '%s' does not exist",
"ERROR_HITTING_EXT_API":"Unable to communicate with external resources",
"ALREADY_EXIST":"'%s' already exists",
"MISSING_FIELD":"Invalid input or missing mandatory field '%s'",
"MISSING_FIELD_INSIDE":"Invalid input or missing mandatory field '%s' inside '%s'",
"INVALID_VALUE":"Invalid input for field '%s'",
"INVALID_TYPE":"Invalid input type for '%s'",
"INPUT_MISMATCH":"Given input JSON structure is mismatched",
"KEY_NOT_FOUND":" '%s' Key not found in Json",
"VALUE_NOT_FOUND":" '%s' Value not found in Json",
"UNSUPPORTED": "Given %s is not supported",
"UNMARSHAL_ERROR":"The field '%s' is a '%s' type, but the given value is '%s' type",
"UNKNOWN_UNMARSHAL_ERROR":"The expected type is a '%s', but the given value is '%s' type",
"SOMETHING_WRONG": "Internal Error",
"INTERNAL_DB_COPY": "Could not format response from database object.",
"GEN_UNMARSHAL_ERROR":"Error in unmarshal '%s'",
"STRING_TO_INT_ERROR":"Error in converting string to int '%s'",
"FIELD_VALIDATION":"InvalidValidationError '%s'",
"MARSHAL_ERROR":"Error in marshaling '%s'"
},
"notification":{
"TERRAFORM_CMD":"Failed on executing the terraform cmd",
"JSON_TO_HCL":"Failed on coneverting file from JSON to HCL",
"READ_FILE":"Cannot read file for converion or validation %s",
"PAGESIZE_NEGAVE":"Page or Size can not be negative number { '%d', '%d' }",
"PPAGE_LIMIT":"Requested invalid page '%d'; Page should be less than '%d'",
"PSIZE_LIMIT":"Requested invalid size '%d' Page should be less than '%d'",
"TEMPLATE_NOTFOUND":"Requested terraform template '%s' is not found",
"TEMPLATE_ALREADY_EXISTS":"Requested terraform template '%s' is already exist",
"INVALID_TEMPLATE_FMT":"Requested terraform id '%s' is invalid formate",
"ACTIVITY_NOTFOUND":"Requested activity '%s' is not found"
}
}

View File

@ -1,18 +0,0 @@
{
"acl":{
"url":"http://%s:%s/api-in/%s/v1/acl?userid=%s&project=%s",
"port":"8005"
},
"aclProject":{
"url":"http://%s:%s/api-in/%s/v1/acl?project=%s",
"port":"8005"
},
"nonrootuser":{
"url":"http://%s:%s/api-in/%s/v1/subusers/%s",
"port":"8005"
},
"project":{
"url":"http://%s:%s/api-internal/%s/v1/projectlist",
"port":"8005"
}
}

View File

@ -1,18 +0,0 @@
{
"mongodb":{
"db-name":"terraform",
"db-endpoint":[
"mongodb:27017"
],
"db-port":"27017",
"user-db":"admin",
"db-user":"admin",
"db-password":"cGFzc3dvcmQ"
},
"redis":{
"redis-endpoint":"redis",
"redis-port":"6379",
"redis-password":"avraj"
}
}

View File

@ -1,19 +0,0 @@
{
"configmanager.ep": {
"host": "configmanager",
"port": "8001"
},
"clustermanager.ep": {
"host": "clustermanager",
"port": "8013"
},
"external.ep": {
"host": "clustermanager",
"port": "8013"
},
"usermanager.ep":{
"host":"usermanager",
"port":"8005"
}
}

View File

@ -1,14 +0,0 @@
{
"internal_ep": {
"VALIDATE_PUBLIC_URL": "api/%s/codebase?organizationID=%s&operation=url&url=%s",
"VALIDATE_PRIVATE_URL": "api/%s/codebase?organizationID=%s&operation=url&url=%s&handle=%s&provider=%s",
"REPO_TYPE_TAG": "api/%s/codebase?url=%s&tag=%s&operation=url&organizationID=%s",
"REPO_HANDLE": "api/%s/codebase?handle=true&organizationID=%s",
"PRIVATE_REPO_TAG": "api/%s/codebase?handle=%s&provider=%s&url=%s&tag=%s&operation=url&organizationID=%s",
"ADD_TAG": "api/%s/tags?organizationID=%s",
"DEL_TAG": "api/%s/tags/%s?organizationID=%s",
"GET_TAG": "api/%s/tags/design?organizationID=%s",
"GET_TAG_QS": "api/%s/tags/design?tag=%s&organizationID=%s",
"POST_DESIGN_VERSION": "api/%s/design/version?organizationID=%s"
}
}

View File

@ -1,165 +0,0 @@
{
"All":{
"RESOURCE_NOT_FOUND":"Requested '%s' does not exist",
"RESOURCE_NOT_FOUND_WITHOUT_NAME":"Resource does not exit",
"ERROR_HITTING_EXT_API":"Unable to communicate with external resources",
"ALREADY_EXIST":"'%s' already exists",
"MISSING_FIELD":"Invalid input or missing mandatory field '%s'",
"MISSING_FIELD_INSIDE":"Invalid input or missing mandatory field '%s' inside '%s'",
"INVALID_VALUE":"Invalid input for field '%s'",
"INVALID_TYPE":"Invalid input type for '%s'",
"INVALID_FIELD":"Invalid input field '%s'",
"INVALID_VOLUME_TYPE":"Invalid Volume type for '%s'",
"INPUT_MISMATCH":"Given input JSON structure is mismatched",
"KEY_NOT_FOUND":" '%s' Key not found in Json",
"VALUE_NOT_FOUND":" '%s' Value not found in Json",
"UNSUPPORTED":"Given %s is not supported",
"UNMARSHAL_ERROR":"The field '%s' is a '%s' type, but the given value is '%s' type",
"UNKNOWN_UNMARSHAL_ERROR":"The expected type is a '%s', but the given value is '%s' type",
"NP_NOTFOUND":"Requested Network Policy '%s' is not found",
"SOMETHING_WRONG": "Internal Error",
"INTERNAL_DB_COPY": "Could not format response from database object.",
"GEN_UNMARSHAL_ERROR":"Error in unmarshal '%s'",
"STRING_TO_INT_ERROR":"Error in converting string to int '%s'",
"FIELD_VALIDATION":"InvalidValidationError '%s'",
"MARSHAL_ERROR":"Error in marshaling '%s'"
},
"all":{
"INTERNAL_SERVER":"Something went wrong! Please try again later",
"RESOURCE_NOT_FOUND":"Requested '%s' does not exist",
"RESOURCE_NOT_FOUND_WITHOUT_NAME":"Resource does not exit",
"ERROR_HITTING_EXT_API":"Unable to communicate with external resources",
"SOMETHING_WRONG":"Internal Error",
"ALREADY_EXIST":"'%s' already exists",
"MISSING_FIELD":"Invalid input or missing mandatory field '%s'",
"MISSING_FIELD_INSIDE":"Invalid input or missing mandatory field '%s' inside '%s'",
"INVALID_VALUE":"Invalid input for field '%s'",
"INVALID_TYPE":"Invalid input type for '%s'",
"INVALID_FIELD":"Invalid input field '%s'",
"INVALID_VOLUME_TYPE":"Invalid Volume type for '%s'",
"INPUT_MISMATCH":"Given input JSON structure is mismatched",
"KEY_NOT_FOUND":" '%s' Key not found in Json",
"VALUE_NOT_FOUND":" '%s' Value not found in Json",
"UNSUPPORTED":"Given %s is not supported",
"UNMARSHAL_ERROR":"The field '%s' is a '%s' type, but the given value is '%s' type",
"UNKNOWN_UNMARSHAL_ERROR":"The expected type is a '%s', but the given value is '%s' type",
"MARSHAL_ERROR":"Error in marshaling '%s'",
"NP_NOTFOUND":"Requested Network Policy '%s' is not found",
"CANT_DELETE_POLICY":"Gopaddle's default policy can't be removed",
"DR_NOTFOUND":"Requested Dependency Reference '%s' is not found",
"DEPENDENCY_EXIST_RESOURCE":"This Resource has dependency: '%s'"
},
"Config":{
"CONFIG_NOTFOUND":"Requested config '%s' is not found",
"CONFIG_ALREADY_EXIST":"Requested config '%s' already exists",
"FILES_EMPTY":"File array can not be empty if type is File",
"LITERALs_EMPTY":"Literal array can not be empty if type is Literal",
"NOT_IMPLEMENT":"This module has not been implemented",
"CONFIGHIST_NOT_FOUND":"Requested config history '%s' with version '%d' is not found",
"PAGESIZE_NEGAVE":"Page or Size can not be a negative number { '%d', '%d' }",
"PPAGE_LIMIT":"Requested invalid page '%d'; Page should be less than '%d'",
"PSIZE_LIMIT":"Requested invalid size '%d' Page should be less than '%d'",
"INVALID_CONFIGID_FMT":"Requested config id is invalid formate '%s'",
"DONOT_MOD_FIELD":"You could not modify the field '%s' value after creation"
},
"Service":{
"SVC_NOTFOUND":"Requested container '%s' is not found",
"SVC_ALREADY_EXIST":"Requested container '%s' already exists",
"SVC_RELEASE_ALREADY_EXIST":"Requested release '%s' already exists in the service '%s'",
"SVCVERSION_ALREADY_EXIST":"Requested container version '%d' already exists",
"REPO_VALIDATION_FAILED":"Failed in repo validation: %s",
"REGISTRY_VALIDATION_FAILED":"Failed in registry validation: %s",
"NOT_IMPLEMENT":"This module has not been implemented",
"PAGESIZE_NEGAVE":"Page or Size can not be a negative number { '%d', '%d' }",
"PPAGE_LIMIT":"Requested invalid page '%d'; Page should be less than '%d'",
"PSIZE_LIMIT":"Requested invalid size '%d' Page should be less than '%d'",
"INVALID_SERVICEID_FMT":"Requested container id '%s' is invalid formate",
"INVALID_SERVICEVERSION_FMT": "Requested container '%s' with version '%s' is invalid formate",
"DONOT_MOD_FIELD":"You could not modify the field '%s' value after creation",
"SVCHIST_NOT_FOUND":"Requested container history '%s' with version '%s' is not found",
"ARTIFACT_EMPTY":"serviceConfig.artifactConfig.%s field can not be empty if artifacts type is %s",
"MISMATCHED_ARTIFACTS":"Given update type '%s' is not matched with the existing service artifact type '%s'",
"ARTIFACT_UPDATE_EMPTY":"serviceConfig.artifactConfig.%s field can not be empty if update type is %s",
"INVALID_UPDATE_TYPE":"Invalid update type has been encountered '%s'",
"ROUTEPATH_PORT_ERROR":"Could not update container '%s' ! Given port '%d' is used in the route path '%s'.Delete all the route paths using the port, before deleting the port.",
"HEALTHCK_PORT_ERROR":"Given port '%d' in the health check does not exists in the ports input",
"HTTPHEALTHCK_MISSED":"Http healthcheck handler can not be empty if type is http",
"EXECHEALTHCK_MISSED":"Exec healthcheck handler can not be empty if type is exec",
"REFERED_BY_HEALTHCK":"The port '%d' is referred by healthcheck parameter",
"SERVICE_NOT_FOUND":"Requested container '%s' not found",
"SERVICEHIST_NOTFOUND": "Requested container '%s' version '%s' not found",
"UNSUPPORTED_BUILD":"Selected container '%s' does not support build operation",
"STORAGE_PATH":"The given stroage path '%s' is already used in config",
"CONFIG_MOUNTPATH":"The given config mount path '%s' is already used in storage",
"CI_NOT_APPLICABLE":"CI is enabled.But CI not applicable for Unregistered CodeBase Repository",
"CODEBASE_VALIDATION":"ServiceConfig.ArtifactConfig.CodebaseRepo.RegisteredCodebase is selected. So ServiceConfig.ArtifactConfig.CodebaseRepo.CodebaseID cannot be empty",
"CONFIG_VERSION_DARFT":"Can't commit with config '%s' version as '%s'",
"DECK_IS_NOT_ACTIVE": "Deck subscription is not active",
"ACCOUNT_NOT_ACTIVE": "Not an active account",
"PRIVATE_SCM": "Requested SCM type is not supported for deck subscription type '%s'"
},
"volumeClaimPolicy":{
"UNSUPPORTED_TYPE":"Given %s '%s' is not supported",
"LIMIT_CAPACITY":"Limit Capacity '%d' should be greater than Requested Capacity '%d'",
"CAPACITY_LIMIT":"Limit value should be between '%d' and '%d'",
"CAPACITY_REQUEST":"Request values should be between '%d' and '%d'",
"VCP_NOTFOUND":"Requested Volume Claim Policy '%s' is not found",
"LIMIT_SUFFIX":"Limits suffix should be one of 'M' or 'Mi' or 'G' or 'Gi'",
"REQUEST_SUFFIX":"Requests suffix should be one of 'M' or 'Mi' or 'G' or 'Gi'"
},
"provisioner":{
"PV_NOTFOUND":"Requested Provisioner '%s' is not found",
"PV_ALREADY_EXIST":"Requested Provisioner '%s' already exist",
"INVALID_PV_FMT":"Requested service id is invalid format '%s'",
"PAGESIZE_NEGAVE":"Page or Size can not be a negative number { '%d', '%d' }",
"PPAGE_LIMIT":"Requested invalid page '%d'; Page should be less than '%d'",
"PSIZE_LIMIT":"Requested invalid size '%d' Page should be less than '%d'"
},
"storageClass":{
"SC_NOTFOUND":"Requested Storage Class '%s' is not found",
"SC_ALREADY_EXIST":"Requested Storage Class '%s' already exists",
"INVALID_SC_FMT":"Requested service id is invalid format '%s'",
"PAGESIZE_NEGAVE":"Page or Size can not be a negative number { '%d', '%d' }",
"PPAGE_LIMIT":"Requested invalid page '%d'; Page should be less than '%d'",
"PSIZE_LIMIT":"Requested invalid size '%d' Page should be less than '%d'"
},
"deploymentPolicy":{
"DP_NOTFOUND":"Requested Deployment Policy '%s' is not found",
"DP_ALREADY_EXIST":"Requested Deployment Policy '%s' already exists",
"DP_ROLLINGUPDATE":"Requested Deployment Policy with maxSurge '%d' and maxUnavailable '%d' not allowed. Both maxSurge and maxUnavailable cannot be 0. Set either one of these attributes to non-zero value.",
"INVALID_DP_FMT":"Requested service id is invalid format '%s'",
"PAGESIZE_NEGAVE":"Page or Size can not be a negative number { '%d', '%d' }",
"PPAGE_LIMIT":"Requested invalid page '%d'; Page should be less than '%d'",
"PSIZE_LIMIT":"Requested invalid size '%d' Page should be less than '%d'"
},
"schedulePolicy":{
"SP_NOTFOUND":"Requested Schedule Policy '%s' is not found"
},
"allocationPolicy":{
"AP_NOTFOUND":"Requested Allocation Policy '%s' is not found",
"AP_ALREADY_EXIST":"Requested Allocation Policy '%s' already exists",
"INVALID_AP_FMT":"Requested service id is invalid format '%s'",
"PAGESIZE_NEGAVE":"Page or Size can not be a negative number { '%d', '%d' }",
"PPAGE_LIMIT":"Requested invalid page '%d'; Page should be less than '%d'",
"PSIZE_LIMIT":"Requested invalid size '%d' Page should be less than '%d'",
"CPU_LIMIT":"CPU value in millicore should be between '%d' and '%d'",
"MEMORY_M_LIMIT":"Memory values in MegaBytes should be between '%d' and '%d'",
"MEMORY_G_LIMIT":"Memory values in GigaBytes should be between '%d' and '%d'",
"MEMORY_SUFFIX":"Memory suffix should be one of 'E', 'P', 'T', 'G', 'M', 'K', 'Ei', 'Pi', 'Ti', 'Gi', 'Mi', 'Ki'.",
"CPU_SUFFIX":"CPU suffix should be 'm'",
"INVALID_QUANTITY":"Value of '%s' contains invalid character '%s'",
"MEMORY_QUANTITY":"Memory limit '%s' should be greater than Request '%s'",
"CPU_QUANTITY":"CPU limit '%s' should be greater than Request '%s'"
},
"scalingPolicy":{
"SP_NOTFOUND":"Requested Scaling Policy '%s' is not found",
"SP_ALREADY_EXIST":"Requested Scaling Policy '%s' already exists",
"INVALID_SP_FMT":"Requested Scaling Policy is invalid format '%s'",
"PAGESIZE_NEGAVE":"Page or Size can not be a negative number { '%d', '%d' }",
"PPAGE_LIMIT":"Requested invalid page '%d'; Page should be less than '%d'",
"PSIZE_LIMIT":"Requested invalid size '%d' Page should be less than '%d'",
"INVALID_MIN_MAX": "Requested Scaling Policy min Replica '%s' must be less then or equal to max Replica '%s'"
}
}

View File

@ -1,21 +0,0 @@
{
"allAPI":{
"updateProvisionerDependencyRef":"api-internal/%s/v1/provisioner/%s"
},
"acl":{
"url":"http://%s:%s/api-in/%s/v1/acl?userid=%s&project=%s",
"port":"8005"
},
"aclProject":{
"url":"http://%s:%s/api-in/%s/v1/acl?project=%s",
"port":"8005"
},
"nonrootuser":{
"url":"http://%s:%s/api-in/%s/v1/subusers/%s",
"port":"8005"
},
"project":{
"url":"http://%s:%s/api-internal/%s/v1/projectlist",
"port":"8005"
}
}

View File

@ -1,53 +0,0 @@
{
"formatters": {
"configmanager": {
"format": "%(asctime)s %(levelname)s (%(filename)s:%(lineno)d) %(message)s",
"datefmt": "%Y-%m-%d %H:%M:%S"
}
},
"handlers": {
"configmanager": {
"class": "RotatingFileHandler",
"filepath": "./configmanager.log",
"mode": "O_APPEND",
"bufferSize": 0,
"bufferFlushTime": 30000,
"inputChanSize": 1,
"maxBytes": 104857600,
"backupCount": 9,
"formatter": "configmanager"
}
},
"loggers": {
"debug": {
"level": "DEBUG",
"handlers": [
"configmanager"
]
},
"info": {
"level": "INFO",
"handlers": [
"configmanager"
]
},
"warn": {
"level": "WARN",
"handlers": [
"configmanager"
]
},
"error": {
"level": "ERROR",
"handlers": [
"configmanager"
]
},
"fatal": {
"level": "FATAL",
"handlers": [
"configmanager"
]
}
}
}

View File

@ -1,28 +0,0 @@
{
"mongodb":{
"db-name":"configmanager",
"db-endpoint":[
"mongodb:27017"
],
"db-port":"27017",
"user-db":"admin",
"db-user":"admin",
"db-password":"cGFzc3dvcmQ"
},
"redis":{
"redis-endpoint":"redis",
"redis-port":"6379",
"redis-password":"avraj"
},
"jwt_params": {
"JWTExpirationDelta": "12"
},
"logger":{
"logType":"debug"
},
"service":{
"iconDirectory":"/iconPath/%s/service/",
"iconAPI":"/v1/service/icon/%s"
},
"version":"v1.0.0"
}

View File

@ -1,54 +0,0 @@
{
"platform.ep": {
"host": "cloudmanager",
"port": "8018"
},
"registry.ep": {
"host": "cloudmanager",
"port": "8018"
},
"codebase.ep": {
"host": "gpcore",
"port": "8759"
},
"builder.ep": {
"host": "gpcore",
"port": "8759"
},
"config.ep": {
"host": "configmanager",
"port": "8001"
},
"provisioner.ep": {
"host": "configmanager",
"port": "8001"
},
"nodechecker.ep": {
"host": "nodechecker",
"port": "8020"
},
"usermanager.ep":{
"host": "usermanager",
"port": "8005"
},
"servicegroup.ep":{
"host":"deploymentmanager",
"port":"8003"
},
"billing.ep":{
"host":"costmanager",
"port":"8011"
},
"gpcore.ep":{
"host":"gpcore",
"port":"8759"
},
"notification.ep":{
"host":"activitymanager",
"port":"8009"
},
"domain.ep":{
"host":"domainmanager",
"port":"8004"
}
}

View File

@ -1,98 +0,0 @@
{
"deploymentType": [
"deployment",
"statefulSet",
"daemonSet"
],
"scalingStrategyType": [
"resource"
],
"scalingStrategy": {
"type": "string",
"cpuLimit": "float64",
"memoryLimit": "float64",
"minScaleUnit": "float64",
"maxScaleUnit": "float64"
},
"allocationStrategy":{
"cpuLimit": "string",
"cpuRequest": "string",
"memoryLimit": "string",
"memoryRequest": "string"
},
"deploymentStrategy":{
"type":"string",
"updateMethod":"string",
"revisionHistory":"float64"
},
"service": {
"expectedFields" :{
"metaFields": [ "name", "serviceType", "artifactType", "serviceConfig" ],
"basicServiceConfig": [ "osType", "network" ],
"advancedServiceConfig": [ "osType", "network" ],
"artifactType": [ "codeBased", "imageBased", "dockerfileBased" ],
"osType": [ "linux", "windows" ],
"codebased":{
"repository": [ "repoProvider", "repoURL" ],
"script": [ "buildScript", "startScript" ],
"buildImageConfig": [ "imageType", "imageName" ],
"deploymentImageConfig": [ "imageType", "imageName" ],
"distributionImageRegistryID": []
},
"imagebased": [ "imageName" ],
"dockerfilebased":{
"repository": [ "repoProvider", "repoURL" ],
"distributionImageRegistryID": []
}
}
},
"volume": {
"AWS":[
"name",
"volumeType",
"platformID",
"zones",
"size",
"volumeID",
"accessMode",
"volumeMode"
],
"GCE":[
"name",
"volumeType",
"platformID",
"projectID",
"zone",
"accessMode"
],
"fileSystemType": [
"XFS",
"Ext3",
"Ext4"
],
"accessMode": [
"ReadWriteOnce",
"ReadOnlyMany",
"ReadWriteMany"
],
"updateFields":["AWSVolume","GCEVolume","application","service","volumeClaimPolicy","status","discovered"]
},
"volumeClaimPolicy": {
"requiredFields": [
"name",
"accessMode",
"resources",
"volumeMode"
],
"resourcesRequiredFields": [
"limits",
"requests"
],
"accessMode": [
"ReadWriteOnce",
"ReadOnlyMany",
"ReadWriteMany"
]
}
}

View File

@ -1,59 +0,0 @@
{
"all":{
"DATA_PERSISTANCE":"Internal Error; (Failed to store data)",
"DATA_RETRIVE":"Internal Error; (Failed to retrive data)",
"INTERNAL_SERVER":"Internal Error; Unable to communicate with internal-server",
"INTERNAL_SERVER_ERROR":"Internal Error; Try after sometime",
"RESOURCE_NOT_FOUND":"Resource '%s' does not exist",
"ERROR_HITTING_EXT_API":"Unable to communicate with external resources",
"SOMETHING_WRONG": "Internal Error",
"INTERNAL_DB_COPY": "Could not format response from database object.",
"INPUT_PAYLOAD_ERROR":"Input payload have error: %s",
"GEN_UNMARSHAL_ERROR":"Error in unmarshal '%s'",
"STRING_TO_INT_ERROR":"Error in converting string to int '%s'",
"FIELD_VALIDATION":"InvalidValidationError '%s'",
"ALREADY_EXIST":"'%s' already exists",
"MISSING_FIELD":"Invalid input or missing mandatory field '%s'",
"MISSING_FIELD_INSIDE":"Invalid input or missing mandatory field '%s' inside '%s'",
"INVALID_VALUE":"Invalid input for field '%s'",
"INVALID_TYPE":"Invalid input type for '%s'",
"INPUT_MISMATCH":"Given input JSON structure is mismatched",
"KEY_NOT_FOUND":" '%s' Key not found in Json",
"VALUE_NOT_FOUND":" '%s' Value not found in Json",
"UNSUPPORTED": "Given %s is not supported",
"UNMARSHAL_ERROR":"The field '%s' is a '%s' type, but the given value is '%s' type",
"UNKNOWN_UNMARSHAL_ERROR":"The expected type is a '%s', but the given value is '%s' type"
},
"billing":{
"PAGESIZE_NEGAVE":"Page or Size can not be negative number { '%d', '%d' }",
"PPAGE_LIMIT":"Requested invalid page '%d'; Page should be less than '%d'",
"PSIZE_LIMIT":"Requested invalid size '%d' Page should be less than '%d'",
"BILLING_NOTFOUND":"Requested subscription '%s' is not found for this user",
"BILLING_ALREADY_EXIST":"Requested subscription '%s' is already exist",
"INVALID_BILLING_FMT":"Requested subscription id '%s' is invalid formate",
"INVALID_UPDATETYPE":"Requesting UpdateType should be one of upgrade, downgrade, topup, activate, cancel and subscription",
"INVALID_UPDATE_FMT":"Requesting Subscription '%s' Update Type is invalid",
"INVALID_TOPUP_TYPE":"Cannot Add the topup for the plan '%s'. only plan 'professional' can be topup",
"INVALID_TOPUP":"Subscription.Deck.Professional.Current.IsTopUpUsed should be true for adding topup",
"INVALID_TOPUP_CONCURRENCY":"Subscription.Deck.Professional.Current.TopUp.TopupConcurrency should be greater than 0",
"INVALID_TYPE_FMT":"Requesting Subscription '%s' Type Should be one of 'free','developer,'team','professional'",
"INVALID_MODE_FMT":"Requesting Subscription Mode Should be a saas",
"INVALID_UPGRADE_FMT":"Invalid Subscription upgrade",
"INVALID_DOWNGRADE_FMT":"Invalid Subscription downgrade",
"INVALID_SUBS_FMT":"This '%s' Plan Subscription Added already",
"INVALID_CAN_FMT":"This Deck Plan Subscription is not available",
"FREE_CAN_FMT":"Cannot cancel the Free Subscription",
"FREE_ACT_FMT":"Cannot activate the Free Subscription",
"INVALID_ACT_FMT":"This '%s' Plan Subscription is not available",
"INVALID_CANCEL_FMT":"Requesting Subscription '%s' cancel Type is invalid",
"INVALID_ACTIVATE_FMT":"Requesting Subscription '%s' activate Type is invalid"
},
"offers":{
"PAGESIZE_NEGAVE":"Page or Size can not be negative number { '%d', '%d' }",
"PPAGE_LIMIT":"Requested invalid page '%d'; Page should be less than '%d'",
"PSIZE_LIMIT":"Requested invalid size '%d' Page should be less than '%d'",
"OFFERS_NOTFOUND":"Requested subscription '%s' is not found for this user",
"OFFERS_ALREADY_EXIST":"Requested subscription '%s' is already exist",
"INVALID_OFFERS_FMT":"Requested subscription id '%s' is invalid formate"
}
}

View File

@ -1,13 +0,0 @@
{
"allAPI":{
"readUserByID":"api/%s/user?organizationID=%s"
},
"acl":{
"url":"http://%s:%s/api-in/%s/v1/acl?userid=%s",
"port":"8005"
},
"nonrootuser":{
"url":"http://%s:%s/api/%s/v1/subusers/%s",
"port":"8005"
}
}

View File

@ -1,26 +0,0 @@
{
"mongodb":{
"db-name":"costmanager",
"db-endpoint":[
"mongodb:27017"
],
"db-port":"27017",
"user-db":"admin",
"db-user":"admin",
"db-password":"cGFzc3dvcmQ"
},
"redis":{
"redis-endpoint":"redis",
"redis-port":"6379",
"redis-password":"avraj"
},
"rabbitmq":{
"mq-protocol":"amqp",
"mq-user":"admin",
"mq-password":"cGFzc3dvcmQ",
"mq-ip":"rabbitmq",
"mq-port":"5672",
"mq-billing-host":"/billing",
"mq-billing-queue":"billing-worker-queue"
}
}

View File

@ -1,30 +0,0 @@
{
"configmanager.ep": {
"host": "configmanager",
"port": "8001"
},
"gpcore.ep": {
"host": "gpcore",
"port": "8759"
},
"deploymentmanager.ep":{
"host":"deploymentmanager",
"port":"8003"
},
"clustermanager.ep":{
"host":"clustermanager",
"port":"8013"
},
"usermanager.ep":{
"host":"usermanager",
"port":"8005"
},
"paymentmanager.ep":{
"host":"paymentmanager",
"port":"8021"
},
"costmanager.ep":{
"host":"costmanager",
"port":"8011"
}
}

View File

@ -1,97 +0,0 @@
{
"deploymentType": [
"deployment",
"statefulSet",
"daemonSet"
],
"scalingStrategyType": [
"resource"
],
"scalingStrategy": {
"type": "string",
"cpuLimit": "float64",
"memoryLimit": "float64",
"minScaleUnit": "float64",
"maxScaleUnit": "float64"
},
"allocationStrategy":{
"cpuLimit": "string",
"cpuRequest": "string",
"memoryLimit": "string",
"memoryRequest": "string"
},
"deploymentStrategy":{
"type":"string",
"updateMethod":"string",
"revisionHistory":"float64"
},
"service": {
"expectedFields" :{
"metaFields": [ "name", "serviceType", "artifactType", "serviceConfig" ],
"basicServiceConfig": [ "osType", "network" ],
"advancedServiceConfig": [ "osType", "network" ],
"artifactType": [ "codeBased", "imageBased", "dockerfileBased" ],
"osType": [ "linux", "windows" ],
"codebased":{
"repository": [ "repoProvider", "repoURL" ],
"script": [ "buildScript", "startScript" ],
"buildImageConfig": [ "imageType", "imageName" ],
"deploymentImageConfig": [ "imageType", "imageName" ],
"distributionImageRegistryID": []
},
"imagebased": [ "imageName" ],
"dockerfilebased":{
"repository": [ "repoProvider", "repoURL" ],
"distributionImageRegistryID": []
}
}
},
"volume": {
"AWS":[
"name",
"volumeType",
"platformID",
"zones",
"size",
"volumeID",
"accessMode",
"volumeMode"
],
"GCE":[
"name",
"volumeType",
"platformID",
"projectID",
"zone",
"accessMode"
],
"fileSystemType": [
"XFS",
"Ext3",
"Ext4"
],
"accessMode": [
"ReadWriteOnce",
"ReadOnlyMany"
],
"updateFields":["AWSVolume","GCEVolume","application","service","volumeClaimPolicy","status"]
},
"volumeClaimPolicy": {
"requiredFields": [
"name",
"accessMode",
"resources",
"volumeMode"
],
"resourcesRequiredFields": [
"limits",
"requests"
],
"accessMode": [
"ReadWriteOnce",
"ReadOnlyMany",
"ReadWriteMany"
]
}
}

View File

@ -1,23 +0,0 @@
apiVersion: v2
name: HELM_CHART
description: DESCRIPTION
# A chart can be either an 'application' or a 'library' chart.
#
# Application charts are a collection of templates that can be packaged into versioned archives
# to be deployed.
#
# Library charts provide useful utilities or functions for the chart developer. They're included as
# a dependency of application charts to inject those utilities and functions into the rendering
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
type: application
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 1.0.0
# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using.
appVersion: APP_VERSION

View File

@ -1,72 +0,0 @@
{{- if eq (include "gen.clusterrole" .) "true" -}}
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: gopaddle:nginx-ingress-clusterrole
rules:
- apiGroups:
- ""
resources:
- configmaps
- endpoints
- nodes
- pods
- secrets
verbs:
- list
- watch
- apiGroups:
- ""
resources:
- nodes
verbs:
- get
- apiGroups:
- ""
resources:
- services
verbs:
- get
- list
- watch
- apiGroups:
- extensions
- networking.k8s.io
resources:
- ingresses
- ingressclasses
verbs:
- get
- list
- watch
- apiGroups:
- ""
resources:
- events
verbs:
- create
- patch
- apiGroups:
- extensions
- networking.k8s.io
resources:
- ingresses/status
- ingressclasses
verbs:
- update
- apiGroups:
- ""
resourceNames:
- ingress-controller-leader
resources:
- configmaps
verbs:
- get
- update
- apiGroups:
- ""
resources:
- configmaps
verbs:
- create
{{- end }}

View File

@ -1,245 +0,0 @@
{
"all":{
"DATA_PERSISTANCE":"Internal Error; (Failed to store data)",
"DATA_RETRIVE":"Internal Error; (Failed to retrive data)",
"INTERNAL_SERVER":"Internal Error; Unable to communicate with internal-server",
"INTERNAL_SERVER_ERROR":"Internal Error; Try after sometime",
"RESOURCE_NOT_FOUND":"Resource '%s' does not exist",
"RESOURCE_NOT_FOUND_WITHOUT_NAME":"Resource does not exit",
"ERROR_HITTING_EXT_API":"Unable to communicate with external resources",
"ALREADY_EXIST":"'%s' already exists",
"MISSING_FIELD":"Invalid input or missing mandatory field '%s'",
"MISSING_FIELD_INSIDE":"Invalid input or missing mandatory field '%s' inside '%s'",
"INVALID_VALUE":"Invalid input for field '%s'",
"INVALID_TYPE":"Invalid input type for '%s'",
"INPUT_MISMATCH":"Given input JSON structure is mismatched",
"KEY_NOT_FOUND":" '%s' Key not found in Json",
"VALUE_NOT_FOUND":" '%s' Value not found in Json",
"UNSUPPORTED": "Given %s is not supported",
"UNMARSHAL_ERROR":"The field '%s' is a '%s' type, but the given value is '%s' type",
"UNKNOWN_UNMARSHAL_ERROR":"The expected type is a '%s', but the given value is '%s' type",
"SERVICE_NOT_FOUND":"Template need Atleast one Service",
"DR_NOTFOUND":"Requested Dependency Reference '%s' is not found",
"CLUSTER_WIDE_DT_SERVICE_RESTRICTION":"Cluster Wide Deployment will have only one service",
"DEPENDENCY_EXIST_RESOURCE":"This Resource has dependency: '%s'",
"SOMETHING_WRONG": "Internal Error",
"INTERNAL_DB_COPY": "Could not format response from database object.",
"GEN_UNMARSHAL_ERROR":"Error in unmarshal '%s'",
"STRING_TO_INT_ERROR":"Error in converting string to int '%s'",
"FIELD_VALIDATION":"InvalidValidationError '%s'",
"MARSHAL_ERROR":"Error in marshaling '%s'",
"SCHEDULE_JOB":"Failed on scheduling job: '%s'",
"RESPONSE_FORMATTING":"Failed on formatting response: '%s'"
},
"daemonset": {
"NAMING_CONVENTION":"'%s' violates the naming convention for daemonset. Allowed names should match (^[a-z][a-z0-9-]*[a-z0-9]$)",
"DAEMONSET_NOT_FOUND": "Requested Daemonset '%s' is not found",
"SERVICE_NOT_FOUND": "Requested Service '%s' is not found",
"ALREADY_EXIST":"Given Daemonset name '%s' is already in use",
"EMPTY_NODES": "Requested cluster %s does not have healthy nodes to deploy the template",
"MISSING_NODES": "Failed to fetch nodes for the cluster '%s' to validate deployment process",
"DEPLOYMENT_TEMPLATE_NOT_FOUND": "Requested Deployment Template '%s' is not found",
"INVALID_ACCESS_TYPE": "Given access type '%s' is invalid",
"PORT_VALIDATION": "Requested port '%s' is already in use",
"ALTERNATIVE_PORT_MISSING": "Alternative port for '%s' under service '%s' is not provided in the request",
"EMPTY_ALTERNATIVE_PORT": "Request does not contain an alternative port for '%s' to expose",
"UNSUPPORTED_UPDATE_TYPE": "Requested service '%s' does not support update operation",
"VERSION_NOT_FOUND": "Requested version '%s' is not available under the service '%s'",
"VOLUME_ALREADY_USED": "Warning : Volume '%s' is already used by service '%s'. Data stored in the disk will be erased permanently",
"VOLUME_ALREADY_INUSE": "Volume '%s' is currently in use by service '%s'. Please select a different volume",
"VOLUME_NOT_AVAILABLE": "Volume '%s' is not available. Please select a different volume"
},
"deploymentTemplate":{
"DT_NOTFOUND":"Requesting DeploymentTemplate '%s' is not found",
"INVALID_PAYLOAD":"Given Payload is invalid: ",
"PAGESIZE_NEGAVE":"Page or Size can not be negative number { '%d', '%d' }",
"PPAGE_LIMIT":"Requested invalid page '%d'; Page should be less than '%d'",
"PSIZE_LIMIT":"Requested invalid size '%d' Page should be less than '%d'",
"INVALID_DEPLOYMENTTEMPLATEID_FMT":"Requested deploymentTemplate id is invalid format '%s'",
"DEPLOYMENTTEMPLATE_NOTFOUND":"Requested Deployment Template '%s' is not found",
"DEPLOYMENTTEMPLATE_ALREADY_EXIST":"Requested Deployment Template '%s' already exist",
"DEPLOYMENTTEMPLATEHIST_NOTFOUND":"Requested Deployment Template '%s' is not found",
"SERVICEGROUPNAME_ALREADY_EXIST":"Given ServiceGroup name '%s' already used",
"SERVICEGROUP_MIN_COUNT_DELETION_":"Service Group Deletion action can't be performed, Deployment Template need atleast only one Service Group",
"UPDATETYPE_MISSING":"UpdateType field missing",
"FIELD_MISSING":"Required Field Missing '%s'",
"SERVICEGROUPS_ARRAY_MISSING":"Service Groups []Object '%s' is missing",
"SERVICE_OBJECT_MISSING":"Service object '%s' is missing",
"SERVICEGROUP_NAME_NOT_FOUND":"Requested Deployment Template Service Group '%s' is not found",
"SERVICE_NAME_NOT_FOUND":"Requesting Deployment Template Service ID '%s' not found in Service Group '%s'",
"SERVICE_NAME_CANNOTBE_DUPLICATE":"In Service Group '%s' Encountered duplication values of service name '%s'",
"SERVICEGROUP_PORTS_CANNOTBE_DUPLICATE":"In Service Group '%s' Encountered duplication values of port '%d'",
"SERVICE_MIN_COUNT_DELETION_":"Service Deletion action can't be performed, Service Group need atleast only one Service ",
"BUILD_OBJECT_MISSING":"Build object missing in service '%s'",
"PORT_MISMATCH":"Port Mismatching '%d'",
"DUPLICATE_SERVICE_PORT":"Ports can't be same in ServieGroup, Service Port '%d' already used in one of services in '%s'",
"MOUNT_PATH_MISMATCH":"Mount Path Mismatch between actual service '%s' and value in ServiceGroup '%s'",
"STORAGENAME_NOTFOUND":"Storage Name '%s' not found in StorageGroups",
"ACTUAL_SERVICE_NOT_HAVING_CONFIG":"You can't update Confgis in ServiceGroup '%s' because Actual Service '%s' does't contain any configs",
"ACTUAL_SERVICE_HAVING_CONFIG":"You can't delete Confgis in ServiceGroup '%s' because Actual Service '%s' contains configs",
"CYCLIC_DEPENDENCY":"Cyclic Dependency between ServiceGroup '%s' and '%s'",
"SG_VERSION_DRAFT":"Can't commit serviceGroup '%s' version as '%s'"
},
"serviceGroup":{
"BUILD_OBJECT_MISSING":"Build object missing in service '%s'",
"SERVICEGROUP_NOTFOUND":"Requested Service Group '%s' is not found",
"SERVICEGROUP_ALREADY_EXIST":"Requested Service Group '%s' already exist",
"SERVICEGROUP_OBJECT_MISSING":"Service Group object '%s' is missing",
"SERVICE_OBJECT_MISSING":"Service object '%s' is missing",
"SERVICE_ARRAY_MISSING":"Service []Object '%s' is missing",
"SERVICEGROUPEHIST_NOTFOUND":"Requested ServiceGroup history '%s' with version '%s' is not found",
"SERVICEGROUP_PORTS_CANNOTBE_DUPLICATE":"In Service Group '%s' Encountered duplication values of port '%d'",
"UPDATETYPE_MISSING":"UpdateType field missing",
"STATELESSSCALINGPOLICY":": stateless for this ServiceGroupType ScalingPolicy is required",
"STATEFULSCALINGPOLICY":": stateful for this ServiceGroupType ScalingPolicy will not come",
"SCALINGRESTRICT":" can't attach ScalingPolicy for this serviceGroup '%s' because StorageGroup has PersistentVolume",
"PODDEPLOYMENTPOLICY":"pod for this ServiceGroupType deploymentPolicy will not come",
"INVALID_SERVICEGROUPID_FMT":"Requested serviceGroup id is invalid format '%s'",
"PAGESIZE_NEGAVE":"Page or Size can not be negative number { '%d', '%d' }",
"PPAGE_LIMIT":"Requested invalid page '%d'; Page should be less than '%d'",
"PSIZE_LIMIT":"Requested invalid size '%d' Page should be less than '%d'",
"MOUNT_PATH_MISMATCH":"Mount Path Mismatch between actual service '%s' and value in ServiceGroup '%s'",
"STORAGENAME_NOTFOUND":"Storage Name '%s' not found in StorageGroups",
"SERVICE_NAME_CANNOTBE_DUPLICATE":"In Service Group '%s' Encountered duplication values of service name '%s'",
"PORT_MISMATCH":"Port Mismatching '%d'",
"BUILD_IN_FAILED":"Build is in failed state",
"SERVICE_VERSION_DRAFT":"Can't commit service '%s' version as '%s'",
"SERVICE_CONFIG_VERSION":"Can't commit service '%s' config '%s' version as '%s'",
"PODAFFINITY_EXPRESSION":"Invalid Value for labelExpression operator: %s",
"PODAFFINITY_TOPOLOGYKEY":"Invalid topologyKey : %s",
"STORAGENAME_UNIQUE":"volumeLabel must contain unique values",
"SECURITYCONTEXT_NOT_ALLOWED":"securityContext runAsNonRoot is '%s' but the given runAsUser is '%s' root value"
},
"All":{
"MISSING_FIELD":"Invalid input or missing mandatory field '%s'",
"INVALID_ID":"Requested resource id '%s' is invalid format",
"UNMARSHAL_ERROR":"The field '%s' is a '%s' type, but the given value is '%s' type",
"UNKNOWN_UNMARSHAL_ERROR":"The expected type is a '%s', but the given value is '%s' type"
},
"App":{
"APP_NOTFOUND":"Requested application '%s' is not found",
"APP_ALREADY_EXIST":"Requested application '%s' is already exist",
"NOT_IMPLEMENT":"This module has not been implemented",
"PAGESIZE_LESSONE":"Page or Size can not be less than one { '%d', '%d' }",
"PPAGE_LIMIT":"Requested invalid page '%d'; Page should be less than '%d'",
"PSIZE_LIMIT":"Requested invalid size '%d'; Size should be less than '%d'",
"INVALID_CONFIGID_FMT":"Requesting config id is invalid formate '%s'",
"DONOT_MOD_FIELD":"You could not modify the field '%s' value after creation",
"CP_SETUP_FAILED":"Gopaddle setup failed with '%s'",
"ACTIVITY_NOTFOUND":"Requested application's activity '%s' is not found",
"INGRESS_NODEPORT_MISSING":"'accessInfo.httpNodePort' and 'accsessInfo.httpsNodePort' can not be nil if access info is nodeIPIngress",
"//Volume configuration":"",
"VOLUME_MISSING":"Volume info is missing to the service group '%s'",
"HOSTVOL_MISSING":"Host volume is missing to the storage name '%s' in service group '%s'",
"PV_MISSING":"Persistent volume is missing to the storage name '%s' in service group '%s'",
"SVOLUME_MISSING":"Static volume is missing to the storage name '%s' in service group '%s'",
"USED_SVOLUME": "Volume '%s' is unavailable status '%s'. Please select a different volume",
"DUP_SVOLUME": "The Given request contains duplicate static volume informations '%s'",
"SC_MISSING": "Storage class is missing to the storage name '%s' in the service group '%s'",
"INVALID_SCALING":"Autosclaing Max replica '%d' is less than Deployment policy Replica '%d' in service group '%s'",
"REPLICA_IN_STATIC":"Replicas should be only one if the service group '%s' contains the static volume",
"REPLICA_IN_DYNAMIC":"Replicas should be only one if the service group '%s' contains the dynamic volume and also no stateful type",
"SCALING_IN_VOLUME":"Scaling relicas should be only one if the service group '%s' contains the persistence volume",
"//NFS Provisioner":"",
"DEPLOYMENTTEMPLATE_READ_ERROR":"There is a problem in reading deployment template",
"STORAGECLASS_READ_ERROR":"There is a problem in reading storage class",
"PROVISIONER_READ_ERROR":"There is a problem in reading provisioner",
"//Port configuration":"",
"PORT_MISSING":"Port info is missing to the service group '%s'",
"EX_PORT_MISSING":"Expose port '%d' is null in the service group '%s.%s'",
"BOTH_PORT_OPTION":"The port '%d' can not be used both alternative port and ingress, in the service group '%s.%s'",
"INVALID_INGRESS_PATH":"We detected invalid path '%s' for port '%d', in the service group '%s.%s'",
"INVALID_PORT":"We detected invalid port '%d', in the service group '%s.%s'",
"INGRESS_PATH_MISSING":"Ingress path info '%s' is missing to the service group '%s.%s'",
"INGRESS_LBIP_MISSING":"LoadBalancerIp is missing for nginx ingress",
"INGRESS_ELB_MISSING":"ELB id is missing for nginx ingress",
"//Update":"",
"TOOMANY_SG":"Update will run a Service Group at single time",
"INVALID_SG":"We detected invalid service group info in update call '%s'",
"TOOMANY_UPDATECALL":"Too many update request on the same application '%s'",
"APP_INAVALID_STATUS":"The application which is in '%s' state '%s' could not be updated",
"NON_SUPPORT_SGTYPE":"Non stateless service group '%s' will not support any update",
"REVISION_NULL":"The revision number can not be empty if update type is rollback in the service group '%s'",
"ALREADY_ROLLEDBACK_REVISION":"The given revision '%d' already rolledback in the service group '%s'",
"EXPIRED_REVISION":"The given revision '%d' is already expired in the service group '%s'",
"UPDATE_DESC_NULL":"The parameter 'serviceGroups[0].description' can not be empty",
"UPDATE_SCALING_NULL":"The parameter 'serviceGroups[0].ScalingPolicy' can not be empty",
"UPDATE_SERVICE_ID_NULL":"The parameter '%s' can not be empty",
"UPDATE_SERVICE_IMAGE_NULL":"The parametet '%s' can not be empty",
"UPDATE_RELEASE_CONFIG_NULL":"Release ID or Distribution ID cannot be empty",
"UPDATE_PODAFFINITY_EXPRESSIONS":"Invalid Value for labelExpression operator: %s",
"UPDATE_NODEAFFINITY_EXPRESSIONS":"Invalid Value for nodeExpression operator: %s",
"//READ":"",
"INVALID_READTYPE":"We detected that invalid value '%s' for query field read-type",
"MISSING_READQUERY_FIELDS":"The query field '%s' can not be null if the read-type is '%s'",
"MISSING_READTYPE":"The query filed 'read-type' is missing",
"MISSING_RESOURCEQUERY_FIELDS":"The query field '%s' can not be null if the resource-type is '%s'",
"INVALID_RESOURCETYPE":"We detected that invalid value '%s' for query field resource-type",
"MISSING_RESOURCETYPE":"The query filed 'resource-type' is missing",
"//DEPENDENCY": "",
"DEPENDENCY_UPDATE_ERROR": "Couldnt update application dependency",
"DEPLOYMENT_VERSION_ERROR":"Couldnt find the difference in deploymentTemplate",
"BUILD_ID_MISSING":"The build version missing for a container '%s' in the serviceGroup '%s'.",
"RESPONSE_FORMATTING":"Failed on formatting application Response: '%s'",
"GETTING_RESPONSE":"failed on getting %s information %s",
"SERVICE_GROUP_ALREADY_EXIST":"Requested service '%s' is already exist in this application '%s'",
"//CONTAINER_ADD":"",
"STORAGENAME_NOT_FOUND":"StorageName '%s' not found in the serviceGroup '%s'",
"SERVICE_ALREADY_EXIST":"Requested container '%s' is already exist on the service '%s'",
"SERVICEGROUP_NOTFOUND":"Requested service '%s' is not found in application '%s'",
"SERVICE_NOTFOUND":"Requested container '%s' is not found in service '%s'",
"SERVICE_REQUIRED":"Container type '%s' is required in the service '%s'",
"BUILD_NOTFOUND":"Requested container '%s' build is not found for distribution '%s' in release '%s'",
"IMAGE_NOTFOUND":"Requested container '%s' image is not found for distribution '%s' in release '%s'",
"POD_NOTSUPPORTED_UPDATED":"Requested update is not supported for pod. supported Update is buildUpdate and network",
"MICROK8S_DEFAULT_SC_NOTFOUND":"Failed default Storeageclass not equal to '%s' in microk8s",
"K3S_DEFAULT_SC_NOTFOUND":"Failed default Storeageclass not equal to '%s' in k3s",
"//SERVICEGROUP":"",
"SG_NOTFOUND":"Requested servicegroup '%s' is not found",
"ALB_DEPLOYMENT_NOT_FOUND":"Requested alb deployment not found in the cluster '%s'",
"ALB_POD_NOT_FOUND":"Requested alb pod not found in the cluster '%s'",
"ALB_POD_NOT_READY":"Requested alb pod not ready in the cluster '%s'",
"DOMAIN_ARN_NOT_FOUND":"Requested domain '%s' not contain the certificateARN",
"DOMAIN_ARN_NOT_FOUND_REGION": "Request domain '%s' not contain the certificateARN for region '%s' and cloudaccount '%s'",
"UPDATE_IMAGEPULL_POLICY_NOTVALID": "Request imagePullPolicy value is not valid.supported values are 'always','never','ifNotPresent'"
},
"Metrics":{
"MISSING_METRICSQUERY_FIELDS":"The query field '%s' can not be null if the metrics-type is '%s'",
"METRICS_NOTFOUND":"Requested projectID '%s' is not found"
},
"Topup":{
"TOPUP_NOTFOUND":"Requested accountID '%s' is not found"
},
"allocationPolicy":{
"AP_NOTFOUND":"Requested Allocation Policy '%s' is not found",
"AP_ALREADY_EXIST":"Requested Allocation Policy '%s' already exists",
"INVALID_AP_FMT":"Requested service id is invalid format '%s'",
"PAGESIZE_NEGAVE":"Page or Size can not be a negative number { '%d', '%d' }",
"PPAGE_LIMIT":"Requested invalid page '%d'; Page should be less than '%d'",
"PSIZE_LIMIT":"Requested invalid size '%d' Page should be less than '%d'",
"CPU_LIMIT":"CPU value in millicore should be between '%d' and '%d'",
"MEMORY_M_LIMIT":"Memory values in MegaBytes should be between '%d' and '%d'",
"MEMORY_G_LIMIT":"Memory values in GigaBytes should be between '%d' and '%d'",
"MEMORY_SUFFIX":"Memory suffix should be one of 'E', 'P', 'T', 'G', 'M', 'K', 'Ei', 'Pi', 'Ti', 'Gi', 'Mi', 'Ki'.",
"CPU_SUFFIX":"CPU suffix should be 'm'",
"INVALID_QUANTITY":"Value of '%s' contains invalid character '%s'",
"MEMORY_QUANTITY":"Memory limit '%s' should be greater than Request '%s'",
"CPU_QUANTITY":"CPU limit '%s' should be greater than Request '%s'"
}
}

View File

@ -1,11 +0,0 @@
{{/*
Check ClusterRole Exist
*/}}
{{- define "gen.clusterrole" -}}
{{- $clusterrole := lookup "v1" "ClusterRole" "" "gopaddle:nginx-ingress-clusterrole" -}}
{{- if $clusterrole -}}
{{- printf "%s" true -}}
{{- else -}}
{{- printf "%s" false -}}
{{- end -}}
{{- end -}}

View File

@ -1,52 +0,0 @@
{
"allAPI":{
"readUserByID":"api/%s/user?organizationID=%s",
"readDomainByID":"api/%s/domain/%s?organizationID=%s",
"readConfigByName":"api/%s/config/%s?organizationID=%s",
"readServiceByName":"api/%s/service?organizationID=%s&operation=ReadByName&svcName=%s",
"readServiceGroupByID":"api/%s/v1/serviceGroup/%s",
"readServiceGroupByVersion":"api/%s/v1/%s/serviceGroup/%s/version/%s",
"readServiceGroupByTags":"api/%s/v1/%s/serviceGroup/%s/version?%s",
"updateServiceGroupDependencyRef":"api-internal/%s/v1/%s/serviceGroup/%s/version/%s",
"readBuildVersionByBuildID":"api/%s/v1/%s/build/%s",
"readBuildVersionByTags":"api/%s/v1/%s/build?%s",
"readIngressByID":"api/%s/ingress/%s?organizationID=%s",
"readProfileByID":"api/%s/profile/%s?organizationID=%s",
"readAllocationPolicyByID":"api/%s/v1/%s/allocationPolicy/%s",
"readVolumeClaimPolicyByID":"api/%s/%s/volumeClaimPolicy/%s?organizationID=%s",
"readVolumeByID":"api/%s/volume/%s?organizationID=%s",
"readKubeByID":"api/%s/kube/%s?organizationID=%s",
"readBuildByVersion":"api/%s/build/%s?organizationID=%s&operation=forDeployment",
"readRegistryByID":"api/%s/registry/%s?organizationID=%s&operation=accessToken&provider=%s",
"Updated":"updated",
"readScalingPolicyByID":"api/%s/v1/%s/scalingPolicy/%s",
"readDeploymentPolicyByID":"api/%s/v1/%s/deploymentPolicy/%s",
"readNetworkPolicyByID":"api/%s/v1/%s/networkpolicy/%s",
"readServiceByID":"api/%s/v1/%s/service/%s",
"updateScalingPolicyDependencyRef":"api-internal/%s/v1/%s/scalingPolicy/%s",
"updateDeploymentPolicyDependencyRef":"api-internal/%s/v1/%s/deploymentPolicy/%s",
"updateNetworkPolicyDependencyRef":"api-internal/%s/v1/%s/networkpolicy/%s",
"updateVolumeClaimPolicyDependencyRef":"api-internal/%s/%s/volumeClaimPolicy/%s",
"updateServiceDependencyRef":"api-internal/%s/v1/%s/service/%s/%s",
"updateAllocationPolicyDependencyRef":"api-internal/%s/v1/%s/allocationPolicy/%s",
"readServiceVersionByID":"api/%s/v1/%s/service/%s/version/%s",
"readServiceVersionByTags":"api/%s/v1/%s/service/%s/version?%s",
"readConfigVersionByID":"api/%s/v1/%s/config/%s/version/%s"
},
"acl":{
"url":"http://%s:%s/api-in/%s/v1/acl?userid=%s&project=%s",
"port":"8005"
},
"aclProject":{
"url":"http://%s:%s/api-in/%s/v1/acl?project=%s",
"port":"8005"
},
"nonrootuser":{
"url":"http://%s:%s/api-in/%s/v1/subusers/%s",
"port":"8005"
},
"project":{
"url":"http://%s:%s/api-internal/%s/v1/projectlist",
"port":"8005"
}
}

View File

@ -1,59 +0,0 @@
{
"group":{
"workerInterval":10
},
"mongodb":{
"db-name":"deploymentmanager",
"db-endpoint":[
"mongodb:27017"
],
"db-port":"27017",
"user-db":"admin",
"db-user":"admin",
"db-password":"cGFzc3dvcmQ"
},
"redis":{
"redis-endpoint":"redis",
"redis-port":"6379",
"redis-password":"avraj"
},
"rabbitmq":{
"mq-protocol":"amqp",
"mq-user":"admin",
"mq-password":"cGFzc3dvcmQ",
"mq-ip":"rabbitmq",
"mq-port":"5672",
"mq-apps-host":"/apps",
"mq-apps-queue":"apps-worker-queue"
},
"esearch":{
"es-user":"elastic",
"es-password":"cGFzc3dvcmQ",
"es-endpoints":[
"http://esearch:9200"
]
},
"gopaddleTools":{
"prometheus":{
"gatewayEndpoint":"NODE_IP",
"gatewayAPI":"/api/%s/v1/application/datacollector/datapoint",
"influxDBs":{
"influxDB-1":{
"dbEndpoint":"http://influxdb:8086",
"dbUser":"admin",
"dbPassword":"cGFzc3dvcmQ",
"maxUserCount":"100",
"isEnabled":true
}
}
},
"eventHandler":{
"gatewayEndpoint":"NODE_IP",
"gatewayAPI":"/api/%s/v1/application/datacollector/eventhandler"
}
},
"deploymentTemplateIconDirectory":{
"iconDirectory":"/iconPath/%s/deploymentTemplate/",
"iconAPI":"/v1/deploymentTemplate/icon/%s"
}
}

View File

@ -1,94 +0,0 @@
{
"builder.ep":{
"host":"gpcore",
"port":"8759"
},
"core.ep": {
"host": "gpcore",
"port": "8759"
},
"configmanager.ep":{
"host":"configmanager",
"port":"8001"
},
"clustermanager.ep": {
"host": "clustermanager",
"port": "8013"
},
"domainmanager.ep":{
"host":"domainmanager",
"port":"8004"
},
"deploymentmanager.ep":{
"host":"deploymentmanager",
"port":"8003"
},
"platform.ep": {
"host": "cloudmanager",
"port": "8018"
},
"registry.ep": {
"host": "cloudmanager",
"port": "8018"
},
"policy.ep":{
"host":"configmanager",
"port":"8001"
},
"user.ep":{
"host":"usermanager",
"port":"8005"
},
"notification.ep":{
"host":"activitymanager",
"port":"8009"
},
"deploymenttmpl.ep":{
"host":"deploymentmanager",
"port":"8003"
},
"servicegroup.ep":{
"host": "deploymentmanager",
"port": "8003"
},
"service.ep":{
"host":"configmanager",
"port":"8001"
},
"serviceGroup.ep":{
"host": "deploymentmanager",
"port": "8003"
},
"config.ep":{
"host":"configmanager",
"port":"8001"
},
"gateway.ep":{
"host":"gateway",
"port":"8006"
},
"nodechecker.ep":{
"host":"nodechecker",
"port":"8020"
},
"billing.ep":{
"host":"costmanager",
"port":"8011"
},
"usermanager.ep":{
"host": "usermanager",
"port": "8005"
},
"alertmanager.ep":{
"host": "alertmanager",
"port": "8012"
},
"release.ep":{
"host": "gpcore",
"port": "8759"
},
"cloudaccount.ep":{
"host":"cloudmanager",
"port":"8018"
}
}

View File

@ -1,26 +0,0 @@
{
"application": {
"expectedFields": [
"name",
"clusterID",
"deploymentTemplateID",
"accessType"
]
},
"daemonset": {
"expectedFields": [
"name",
"clusterID",
"deploymentTemplateID"
]
},
"deploymentTemplate": {
"expectedFields": [
"name",
"services"
],
"expectedFields_service": [
"id"
]
}
}

View File

@ -1,49 +0,0 @@
{
"design":{
"DESIGN_NOT_FOUND":"Requested design is not found",
"ALREADY_EXIST":"Resource name '%s' already exists. Try using a different name.",
"NAMING_CONVENTION":"'%s' violates the naming convention for design or component. Allowed names should match (^[a-z][a-z0-9-]*[a-z0-9]$)",
"INVALID_OPERATION":"Invalid operation '%s'",
"MISSING_FIELD":"Invalid input or missing mandatory field '%s'",
"CYCLIC_LINK":"Cyclic reference is not allowed",
"COMPONENT_NOT_FOUND":"Requested component is not found",
"UNABLE_MODIFY_TYPE":"Unable to delete or modify the component '%s'",
"INVALID_DATA":"Invalid source control project '%s'",
"ENV_ERROR":"Unsupported platform",
"PORT_VALIDATION":"Invalid port format '%s. Allowed ports 1 to 65535",
"MISSING_SCRIPT":"'%s' input is missing in component '%s'",
"NULL_VALUE":"'%s' cannot be empty",
"UNSUPPORTED_FILE":"Given input file format is not supported. Supported formats are TXT, ZIP, TARZ",
"CODE_PUSH":"Publish design failed. Failed to push the service artifacts to source control",
"DESIGN_UPDATE":"Design '%s' update failed",
"TAG_CONVENTION":"Malformed JSON or tag validation failed '%s'. Allowed tags ^[a-zA-Z-_]+(,[a-zA-Z0-9-_]+)*",
"COMPONENT_PENDING":"Component '%s' has some missing mandatory fields",
"COMPONENT_NOT_LINKED":"Component '%s' is not linked",
"SVC_TYPE_MODIFY":"Cannot modify '%s' in service '%s'",
"ROOT_MORE_LINK":"Root node doesn't have more than one link",
"SELF_LINK":"Cannot link component '%s' to itself",
"ALREADY_LINKED":"Cannot link from component '%d' to component '%d'",
"REPO_HANDLE_PATH":"Repository Url '%s' cannot be validated with account '%s'",
"IP_VALIDATION":"Invalid IP Address '%s'",
"SCALE_VALIDATION":"Deployments attributes for '%s' is missing. Allowed values ([0-9]+)",
"UNSUPPORTED_DATA":"Invalid data '%s'; Supported data are [%s]",
"INVALID_AUTO_FACT":"Malformed JSON or Invalid autoscale factor '%s'",
"ALREADY_SCHEDULED":"Publish design '%s' is already in progress",
"REGISTRY_ADD":"Please Select Registry for this Design"
},
"all":{
"DATA_PERSISTANCE":"Internal Error; (Failed to store data)",
"DATA_RETRIVE":"Internal Error; (Failed to retrive data)",
"INTERNAL_SERVER":"Internal Error; Unable to communicate with internal-server",
"INTERNAL_SERVER_ERROR":"Internal Error; Try after sometime",
"RESOURCE_NOT_FOUND":"Resource '%s' does not exist",
"RESOURCE_NOT_FOUND_WITHOUT_NAME":"Resource does not exit",
"ERROR_HITTING_EXT_API":"Unable to communicate with external resources",
"SOMETHING_WRONG":"Something went wrong",
"ALREADY_EXIST":"'%s' already exists",
"MISSING_FIELD":"Invalid input or missing mandatory field '%s'",
"INVALID_TYPE":"Token type is invalid",
"INVALID_SCOPE":"Token scope is invalid",
"LIMIT_EXCEED":"Token Creation Limit Exceed"
}
}

View File

@ -1,18 +0,0 @@
{
"acl":{
"url":"http://%s:%s/api-in/%s/v1/acl?userid=%s&project=%s",
"port":"8005"
},
"aclProject":{
"url":"http://%s:%s/api-in/%s/v1/acl?project=%s",
"port":"8005"
},
"nonrootuser":{
"url":"http://%s:%s/api-in/%s/v1/subusers/%s",
"port":"8005"
},
"project":{
"url":"http://%s:%s/api-internal/%s/v1/projectlist",
"port":"8005"
}
}

View File

@ -1,53 +0,0 @@
{
"formatters": {
"domainmanager": {
"format": "%(asctime)s %(levelname)s (%(filename)s:%(lineno)d) %(message)s",
"datefmt": "%Y-%m-%d %H:%M:%S"
}
},
"handlers": {
"domainmanager": {
"class": "RotatingFileHandler",
"filepath": "./domainmanager.log",
"mode": "O_APPEND",
"bufferSize": 0,
"bufferFlushTime": 30000,
"inputChanSize": 1,
"maxBytes": 104857600,
"backupCount": 9,
"formatter": "domainmanager"
}
},
"loggers": {
"debug": {
"level": "DEBUG",
"handlers": [
"domainmanager"
]
},
"info": {
"level": "INFO",
"handlers": [
"domainmanager"
]
},
"warn": {
"level": "WARN",
"handlers": [
"domainmanager"
]
},
"error": {
"level": "ERROR",
"handlers": [
"domainmanager"
]
},
"fatal": {
"level": "FATAL",
"handlers": [
"domainmanager"
]
}
}
}

View File

@ -1,21 +0,0 @@
{
"mongodb":
{
"db-name": "domainmanager",
"db-endpoint": [
"mongodb:27017"
],
"db-port": "27017",
"user-db": "admin",
"db-user": "admin",
"db-password": "cGFzc3dvcmQ"
},
"redis":{
"redis-endpoint":"redis",
"redis-port":"6379",
"redis-password":"avraj"
},
"logger":{
"logType":"debug"
}
}

View File

@ -1,27 +0,0 @@
{
"license.ep": {
"host": "gpcore",
"port": "8759"
},
"transaction.ep": {
"host": "gpcore",
"port": "8759"
},
"nodechecker.ep": {
"host":"nodechecker",
"port":"8020"
},
"usermanager.ep":{
"host": "usermanager",
"port": "8005"
},
"clustermanager.ep":{
"host": "clustermanager",
"port": "8013"
},
"cloudmanager.ep":{
"host": "cloudmanager",
"port": "8018"
}
}

View File

@ -1,6 +0,0 @@
#!/bin/bash
set -x
chown elasticsearch:elasticsearch /usr/share/elasticsearch/data
echo "node.local: true" >> /etc/elasticsearch/elasticsearch.yml
/usr/bin/java -Xms256m -Xmx1g -Djava.awt.headless=true -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError -XX:+DisableExplicitGC -Dfile.encoding=UTF-8 -Delasticsearch -Des.foreground=yes -Des.path.home=/usr/share/elasticsearch -cp :/usr/share/elasticsearch/lib/elasticsearch-1.7.3.jar:/usr/share/elasticsearch/lib/*:/usr/share/elasticsearch/lib/sigar/* org.elasticsearch.bootstrap.Elasticsearch > esearch.log
tail -f esearch.log

View File

@ -1,28 +0,0 @@
{
"all":{
"DATA_PERSISTANCE": "Internal Error; (Failed to store data)",
"DATA_RETRIVE": "Internal Error; (Failed to retrive data)",
"INTERNAL_SERVER": "Internal Error; Unable to communicate with internal-server",
"INTERNAL_SERVER_ERROR": "Internal Error; Try after sometime",
"RESOURCE_NOT_FOUND": "Resource '%s' does not exist",
"ERROR_HITTING_EXT_API": "Unable to communicate with external resources",
"SOMETHING_WRONG": "Something went wrong",
"ALREADY_EXIST": "'%s' already exists",
"MISSING_FIELD": "Invalid input or missing mandatory field '%s'"
},
"user":{
"EMAIL_ALREADY_EXISTS": "Email already exists. Sign in to continue",
"INVALID_EMAIL": "Given email id is invalid. Please enter a valid email id.",
"PASSWORD_DECRYPTION": "Failed in password decryption",
"PASSWORD_STRENGTH": "Password length should be between 8-16 characters and should contain atleast 1 alphabet, 1 number and 1 special character",
"INCORRECT_USER": "Incorrect username. Please try again.",
"INCORRECT_PASSWORD": "Incorrect password. Please try again.",
"ACCOUNT_UNVERIFIED": "Please verify your account"
},
"mail":{
"INVALID_EMAIL_CODE": "Given mail verification code is invalid",
"INVALID_PHONE_CODE": "Given phone verification code is invalid",
"EXPIRED_EMAIL_CODE": "Given mail verification code has already expired",
"EXPIRED_PHONE_CODE": "Given phone verification code has already expired"
}
}

View File

@ -1,53 +0,0 @@
{
"formatters": {
"gateway": {
"format": "%(asctime)s %(levelname)s (%(filename)s:%(lineno)d) %(message)s",
"datefmt": "%Y-%m-%d %H:%M:%S"
}
},
"handlers": {
"gateway": {
"class": "RotatingFileHandler",
"filepath": "./gateway.log",
"mode": "O_APPEND",
"bufferSize": 0,
"bufferFlushTime": 30000,
"inputChanSize": 1,
"maxBytes": 104857600,
"backupCount": 9,
"formatter": "gateway"
}
},
"loggers": {
"debug": {
"level": "DEBUG",
"handlers": [
"gateway"
]
},
"info": {
"level": "INFO",
"handlers": [
"gateway"
]
},
"warn": {
"level": "WARN",
"handlers": [
"gateway"
]
},
"error": {
"level": "ERROR",
"handlers": [
"gateway"
]
},
"fatal": {
"level": "FATAL",
"handlers": [
"gateway"
]
}
}
}

View File

@ -1,105 +0,0 @@
{
"mongodb":{
"db-name":"deploy_test",
"db-endpoint":[
"mongodb:27017"
],
"db-port":"27017",
"user-db":"admin",
"db-user":"admin",
"db-password":"JD72KDTJhLhfT7h4"
},
"redis":{
"redis-endpoint":"redis",
"redis-port":"6379",
"redis-password":"avraj"
},
"signup-url":"NODE_IP",
"proxy":{
"helm":"http://deploymentmanager:8003",
"marketplace":"http://marketplace:8023",
"costusage":"http://costmanager:8011",
"userProfile":"http://usermanager:8005",
"build":"http://gpcore:8759",
"codebase":"http://gpcore:8759",
"default":"http://usermanager:8005",
"template":"http://159.89.201.101:8002",
"domain":"http://domainmanager:8004",
"profile":"http://configmanager:8001",
"user":"http://usermanager:8005",
"users":"http://usermanager:8005",
"signup":"http://usermanager:8005",
"signin":"http://usermanager:8005",
"signout":"http://usermanager:8005",
"deploymentTemplate":"http://deploymentmanager:8003",
"application":"http://deploymentmanager:8003",
"volumeClaimPolicy":"http://configmanager:8001",
"volume":"http://configmanager:8001",
"config":"http://configmanager:8001",
"service":"http://configmanager:8001",
"serviceGroup":"http://deploymentmanager:8003",
"deploymentPolicy":"http://configmanager:8001",
"provisioner":"http://configmanager:8001",
"scalingPolicy":"http://configmanager:8001",
"allocationPolicy":"http://configmanager:8001",
"storageClass":"http://configmanager:8001",
"networkpolicy":"http://configmanager:8001",
"goproxy":"http://kube.gopaddle.io:8080",
"activity":"http://activitymanager:8009",
"rule":"http://alertmanager:8012",
"notification":"http://alertmanager:8012",
"cluster":"http://clustermanager:8013",
"noauth":"http://usermanager:8005",
"acl":"http://usermanager:8005",
"subusers":"http://usermanager:8005",
"containerShell":"http://deploymentmanager:8017",
"resentPhoneVerifyCode":"http://usermanager:8005",
"userPhoneVerify":"http://usermanager:8005",
"usersignin":"http://usermanager:8005",
"subscription":"http://costmanager:8011",
"cloudaccount":"http://cloudmanager:8018",
"registry":"http://cloudmanager:8018",
"cloudauth":"http://cloudmanager:8018",
"license":"http://usermanager:8005",
"billing":"http://costmanager:8011",
"stripe":"http://paymentmanager:8021",
"adminLogin":"http://appscanner:8022",
"customer":"http://paymentmanager:8021",
"offers":"http://costmanager:8011",
"userOffers":"http://costmanager:8011",
"appscanner":"http://appscanner:8022",
"terraform":"http://clustertemplatemanager:8050",
"project":"http://usermanager:8005",
"release":"http://gpcore:8759",
"codebaseAcceptor":"http://gpcore:8759",
"codebaseRequestor":"http://gpcore:8759",
"cdelivery":"http://gpcore:8759",
"buildScanList":"http://gpcore:8759",
"clusterMetrics":"http://clustermanager:8013",
"serviceMetrics":"http://deploymentmanager:8003",
"buildMetrics":"http://gpcore:8759",
"volumeMetrics":"http://configmanager:8001",
"albCluster":"http://clustermanager:8013",
"buildStat":"http://gpcore:8759",
"applicationList":"http://deploymentmanager:8003",
"releaseList":"http://gpcore:8759",
"servicePort":"http://deploymentmanager:8003",
"averageBuildDuration":"http://gpcore:8759",
"alert":"http://alertmanager:8012",
"gpctlActivity":"http://activitymanager:8009",
"subnetList":"http://clustermanager:8013",
"subnet":"http://clustermanager:8013",
"series":"http://activitymanager:8009",
"quickstart":"http://quickstart:8002",
"discover":"http://appscanner:8022",
"recursiveDelete":"http://configmanager:8001"
},
"jwt_params":{
"PrivateKeyPath":"/settings/keys/private_key",
"PublicKeyPath":"/settings/keys/public_key.pub",
"JWTExpirationDelta":"1"
},
"logger":{
"logType":"debug"
}
}

View File

@ -1,18 +0,0 @@
{
"license.ep": {
"host": "gpcore",
"port": "8759"
},
"transaction.ep": {
"host": "gpcore",
"port": "8759"
},
"usermanager.ep":{
"host":"usermanager",
"port":"8005"
},
"nodechecker.ep": {
"host":"nodechecker",
"port":"8020"
}
}

View File

@ -1,11 +0,0 @@
{
"user": {
"expectedFields": [
"name",
"emailID",
"password",
"phone",
"country"
]
}
}

View File

@ -1,154 +0,0 @@
{
"user":{
"ACTIVATE_RESOURCE":"Please Activate Google Google Identity and Access Management API for your project under Google Developers Console"
},
"all":{
"DATA_PERSISTANCE":"Internal Error; (Failed to store data)",
"DATA_RETRIVE":"Internal Error; (Failed to retrive data)",
"INTERNAL_SERVER":"Internal Error; Unable to communicate with internal-server",
"INTERNAL_SERVER_ERROR":"Internal Error; Try after sometime",
"RESOURCE_NOT_FOUND":"Resource '%s' does not exist",
"RESOURCE_NOT_FOUND_WITHOUT_NAME":"Resource does not exit",
"ERROR_HITTING_EXT_API":"Unable to communicate with external resources",
"ALREADY_EXIST":"'%s' already exists",
"MISSING_FIELD":"Invalid input or missing mandatory field '%s'",
"INVALID_TYPE":"Token type is invalid",
"INVALID_SCOPE":"Token scope is invalid",
"LIMIT_EXCEED":"Token Creation Limit Exceed",
"UNMARSHAL_ERROR":"The field '%s' is a '%s' type, but the given value is '%s' type",
"UNKNOWN_UNMARSHAL_ERROR":"The expected type is a '%s', but the given value is '%s' type",
"DEPENDENCY_EXIST_RESOURCE":"This Resource has dependency",
"SOMETHING_WRONG": "Internal Error",
"INTERNAL_DB_COPY": "Could not format response from database object.",
"GEN_UNMARSHAL_ERROR":"Error in unmarshal '%s'",
"STRING_TO_INT_ERROR":"Error in converting string to int '%s'",
"FIELD_VALIDATION":"InvalidValidationError '%s'",
"MARSHAL_ERROR":"Error in marshaling '%s'"
},
"gke_infrastructure":{
"NO_CLUSTERS":"No kubernetes Clusters are available",
"RESOURCE_NOT_FOUND_WITHOUT_NAME":"kubernetes Cluster is not found",
"RESOURCE_NOT_FOUND":"kubernetes Cluster '%s' is not found",
"NO_CLUSTERS_AVAILABLE":"kubernetes Cluster not Enabled for this Account",
"ALREADY_EXIST":"kubernetes Cluster '%s' already exists",
"ERROR_HITTING_EXT_API":"Unable to communicate with Google Cloud",
"ERROR_HITTING_EXT_API_AZURE":"Unable to communicate with Azure Cloud",
"ACTIVATE_RESOURCE":"Please activate Google Cloud Resource Manager APIs",
"ACTIVATE_AZURE_RESOURCE":"Please activate your Azure Subscriptons",
"SSHKEY_ACTIVATE":"Please Save Your Public SSH Key in General Settings Page",
"REX_VALIDATION":"%s should be in the format of %s"
},
"cDelivery":{
"RESOURCE_NOT_FOUND":"Source Control Account '%s' does not exist",
"RESOURCE_NOT_FOUND_WITHOUT_NAME":"Source Control Account does not exist",
"ALREADY_EXIST":"Continuous Delivery for repository '%s' is already enabled",
"WEBHOOK_FAILED":"Error in injecting the webhook for '%s'"
},
"codebase":{
"NO_CODEBASE":"No Source Control accounts are available",
"RESOURCE_NOT_FOUND":"Source Control account '%s' does not exist",
"RESOURCE_NOT_FOUND_WITHOUT_NAME":"Source Control account does not exist",
"URL_NOT_FOUND":"Repository Url '%s' cannot be identified",
"NOT_AUTHENTICATED":"Repository Url '%s' cannot be authenticated with account '%s'",
"ALREADY_EXIST":"Source Control account '%s' already exists",
"ERROR_HITTING_EXT_API":"Unable to communicate with codebase service",
"BAD_CREDENTIALS":"Bad credentials; Source control Access Token may have been revoked for account '%s'",
"INVALID_CREDENTIALS":"Spefied repository does not seems to be public. You donot have permission to access it.",
"EMPTY_REPO":"Specified repository is empty",
"TAG_NOT_FOUND":"Specified tag not found. Please enter valid Tag '%s'.",
"PRIVATE_URL":"It may be Private Url '%s'",
"INVALID_URL":"Invalid Repository Url '%s'"
},
"release_build":{
"ERROR_HITTING_INT_API":"Unable to communicate with Internal Service",
"ERROR_HITTING_EXT_API":"Unable to communicate with External Service",
"NOT_FOUND":"There is no Result Found",
"INVALID_RELEASE":"Invalid Release '%s'",
"INVALID_BUILD":"Invalid Build '%s'",
"INVALID_PIPELINE":"Invalid Pipeline '%s'",
"INVALID_OPERATION":"Invalid operation '%s'",
"MISSING_FIELD":"Invalid input or missing mandatory field '%s'"
},
"platform":{
"ERROR_HITTING_INT_API":"Unable to communicate with Internal Service",
"ERROR_HITTING_EXT_API":"Unable to communicate with External Service",
"NOT_FOUND":"There is no Result Found",
"INVALID_RELEASE":"Invalid Release '%s'",
"INVALID_BUILD":"Invalid Build '%s'",
"INVALID_PIPELINE":"Invalid Pipeline '%s'",
"INVALID_OPERATION":"Invalid operation '%s'",
"MISSING_FIELD":"Invalid input or missing mandatory field '%s'"
},
"Metrics":{
"METRICS_NOTFOUND":"Requested projectID '%s' is not found"
},
"All":{
"SOMETHING_WRONG": "Internal Error",
"MISSING_FIELD":"Invalid input or missing mandatory field '%s'",
"INVALID_ID":"Requested resource id '%s' is invalid format",
"UNMARSHAL_ERROR":"The field '%s' is a '%s' type, but the given value is '%s' type",
"UNKNOWN_UNMARSHAL_ERROR":"The expected type is a '%s', but the given value is '%s' type",
"PAGESIZE_NEGAVE":"Page or Size can not be a negative number { '%d', '%d' }",
"PPAGE_LIMIT":"Requested invalid page '%d'; Page should be less than '%d'",
"PSIZE_LIMIT":"Requested invalid size '%d' Page should be less than '%d'"
},
"Build":{
"BUILD_NOTFOUND":"The requested build '%s' is not found",
"INVALID_ARTIFACTTYPE":"The given service's artifact type is incompatible to build '%s'",
"BUILDAGENT_NOTRESPOND":"Build agent is not responding to Build server",
"ARTIFACT_EMPTY":"Artifacts is not configured for the service '%s' with version '%d'",
"BUILDLOG_NOTFOUND":"The build log is not available for the requested build id '%s'",
"BUILDSCANLOG_NOTFOUND":"The build scan log is not available for the requested build id '%s'",
"10MB_HEADER_MISSING":"The header value should be to set to header 'Content-Type' with 'application/octet-stream' if log size more than 10 MB",
"CLUSTER_ID_MISSING":"Cluster ID cannot be empty",
"ALLOCATION_POLICY_MISSING":"Alloctation Policy ID cannot be empty",
"MAX_LIMIT":"Maximum build limit reached please try later",
"CONNECT_QUEUE":"Cannot connect into queue",
"PLACE_QUEUE":"Cannot place the build into queue"
},
"cb":{
"DEP_REF_ALREADY_EXISTS":"This Depency Reference Id '%s' version '%s' is already exists",
"CODEBASE_EXISTS":"CODEBASE_EXISTS",
"KEY_EXISTS":"This Key '%s' is already exists.please use another Key",
"NAME_EXISTS":"This Name '%s' is already exists.please use another Name",
"MANAGED_TYPE":"User cannot delete Managed CodeBaseAuth",
"CODEBASE_NOTFOUND":"The requested codebase '%s' is not found",
"INVALID_ARTIFACTTYPE":"The given service's artifact type is incompatible to build '%s'",
"BUILDAGENT_NOTRESPOND":"Build agent is not responding to Build server",
"ARTIFACT_EMPTY":"Artifacts is not configured for the service '%s' with version '%d'",
"BUILDLOG_NOTFOUND":"The build log is not available to requested build id '%s'",
"10MB_HEADER_MISSING":"The header value should be to set to header 'Content-Type' with 'application/octet-stream' if log size more than 10 MB"
},
"Topup":{
"TOPUP_NOTFOUND":"Requested accountID '%s' is not found"
},
"Release":{
"RELEASE_NOTFOUND": "Requested releaseID '%s' is not found",
"PROFILE_NAME_NOT_FOUND":"Requested ProfileID '%s' is not found",
"PROFILE_NAME_EXISTS":"This Profile Name '%s' already exists",
"CONTAINER_EXISITS":"This containerID '%s' already exists",
"REPO_CONTAINER_EXISITS":"This containerID '%s' already exists on releaseID '%s'",
"REPO_NOT_SUPPORTED":"This containerID '%s' is imagebased. Repository is only supported for 'dockerfileBased,codeBased'",
"ACCOUNT_NOT_ACTIVE": "Not an active account",
"MISMATCHED_ARTIFACTS":"Given update type '%s' is not matched with the existing service artifact type '%s'",
"ARTIFACT_UPDATE_EMPTY":"artifactConfig.%s field can not be empty if update type is %s",
"RELEASE_NAME_EXISTS":"This release Name '%s' already exists",
"MISSING_FIELD":"Invalid input or missing mandatory field '%s'",
"REGISTRY_VALIDATION_FAILED":"Failed in registry validation: %s",
"CI_NOT_APPLICABLE":"CI is enabled.But CI not applicable for Unregistered CodeBase Repository",
"CODEBASE_VALIDATION":"artifactConfig.CodebaseRepo.RegisteredCodebase is selected. So ServiceConfig.ArtifactConfig.CodebaseRepo.CodebaseID cannot be empty",
"PRIVATE_SCM": "Requested SCM type is not supported for deck subscription type '%s'",
"VULNERABILITY_UPDATE_EXITSCAN":"vulnerabilityScan.ExitScan value is '%s' is not matched with existing vulnerabilityScan values '%s'",
"REPO_UPDATE_EMPTY":"%s field can not be empty",
"REPO_NOTFOUND":"Requested repo '%s' is not found in release '%s'",
"PROFILE_NOTFOUND":"Requested profile '%s' is not found in the distribution '%s'",
"DISTRIBUTION_SERVICE_NOTFOUND":"Requested service '%s' is not found in distribution '%s'",
"DISTRIBUTION_NOTFOUND":"Requested distribution '%s' is not found in release '%s'",
"REPO_VALIDATION_FAILED":"Failed in repo validation: %s",
"DISTRIBUTION_NAME_EXISTS":"This distribution Name '%s' already exists",
"CANT_DELETE_DISTRIBUTION":"Gopaddle's default distribution can't be removed",
"CANT_DELETE_PROFILE":"Gopaddle's default profile can't be removed",
"CANT_UPDATE_RELEASE":"Gopaddle's default release can't be updated",
"DISTRIBUTION_SERVICE_EXISTS": "Container '%s' already exists in distribution '%s'"
}
}

View File

@ -1,18 +0,0 @@
{
"acl":{
"url":"http://%s:%s/api-in/%s/v1/acl?userid=%s&project=%s",
"port":"8005"
},
"aclProject":{
"url":"http://%s:%s/api-in/%s/v1/acl?project=%s",
"port":"8005"
},
"nonrootuser":{
"url":"http://%s:%s/api-in/%s/v1/subusers/%s",
"port":"8005"
},
"project":{
"url":"http://%s:%s/api-internal/%s/v1/projectlist",
"port":"8005"
}
}

View File

@ -1,74 +0,0 @@
{
"formatters": {
"server": {
"format": "%(asctime)s %(levelname)s (%(filename)s:%(lineno)d) %(message)s",
"datefmt": "%Y-%m-%d %H:%M:%S"
},
"application": {
"format": "%(asctime)s %(message)s",
"datefmt": "%Y-%m-%d %H:%M:%S"
}
},
"handlers": {
"server": {
"class": "RotatingFileHandler",
"filepath": "./core.log",
"mode": "O_APPEND",
"bufferSize": 0,
"bufferFlushTime": 30000,
"inputChanSize": 1,
"maxBytes": 104857600,
"backupCount": 9,
"formatter": "server"
},
"application": {
"class": "RotatingFileHandler",
"filepath": "./test.log",
"mode": "O_APPEND",
"bufferSize": 0,
"bufferFlushTime": 30000,
"inputChanSize": 1,
"maxBytes": 104857600,
"backupCount": 9,
"formatter": "application"
}
},
"loggers": {
"debug": {
"level": "DEBUG",
"handlers": [
"server"
]
},
"info": {
"level": "INFO",
"handlers": [
"server"
]
},
"warn": {
"level": "WARN",
"handlers": [
"server"
]
},
"error": {
"level": "ERROR",
"handlers": [
"server"
]
},
"fatal": {
"level": "FATAL",
"handlers": [
"server"
]
},
"application": {
"level": "INFO",
"handlers": [
"application"
]
}
}
}

View File

@ -1,272 +0,0 @@
{
"mongodb":{
"db-name":"gpcore",
"db-endpoint":[
"mongodb:27017"
],
"db-port":"27017",
"user-db":"admin",
"db-user":"admin",
"db-password":"cGFzc3dvcmQ"
},
"redis":{
"redis-endpoint":"redis",
"redis-port":"6379",
"redis-password":"avraj"
},
"rabbitmq":{
"mq-protocol":"amqp",
"mq-user":"admin",
"mq-password":"cGFzc3dvcmQ",
"mq-ip":"NODE_IP",
"mq-port":"NODE_PORT",
"mq-default-host":"/build",
"mq-worker-queue":"worker-queue"
},
"rabbitmq-agent":{
"agentmq-protocol":"amqp",
"agentmq-user":"admin",
"agentmq-password":"cGFzc3dvcmQ",
"agentmq-ip":"NODE_IP",
"agentmq-port":"NODE_PORT",
"agentmq-default-host":"/build",
"agentmq-worker-queue":"worker-queue"
},
"mqMaxAttempt":"5",
"build":{
"buildLogDir":"/buildlog",
"buildScanLogDir":"/buildscanlog",
"buildImage":"611260657835.dkr.ecr.ap-southeast-2.amazonaws.com/buildagent-v1:agent-1.14",
"buildImage-arm64":"611260657835.dkr.ecr.ap-southeast-2.amazonaws.com/buildagent-v1:agent-arm64-1.14",
"kaniko-default":"611260657835.dkr.ecr.ap-southeast-2.amazonaws.com/kaniko:v1.3.0",
"kaniko-amd64":"611260657835.dkr.ecr.ap-southeast-2.amazonaws.com/kaniko:amd64-v1.3.0",
"kaniko-arm64":"611260657835.dkr.ecr.ap-southeast-2.amazonaws.com/kaniko:arm64-v1.3.0",
"kaniko-multi-arch":"611260657835.dkr.ecr.ap-southeast-2.amazonaws.com/kaniko:multi-arch-v1.3.0",
"trivyImage":"611260657835.dkr.ecr.ap-southeast-2.amazonaws.com/trivy:0.18.3",
"trivyImage-arm64":"611260657835.dkr.ecr.ap-southeast-2.amazonaws.com/trivy:0.18.3-arm64",
"craneImage":"611260657835.dkr.ecr.ap-southeast-2.amazonaws.com/crane:debug",
"craneImage-arm64":"611260657835.dkr.ecr.ap-southeast-2.amazonaws.com/crane:debug-arm64"
},
"signup-url":"DOMAIN_NAME",
"github":{
"github_endpoints":{
"webhookURL":"WEBHOOK_NODE_IP",
"webhook_config_url":"/api/gwebhook"
},
"repo_create_payload":{
"description":"This is repository created by Gopaddle",
"homepage":"DOMAIN_NAME",
"private":false,
"has_issues":true,
"has_wiki":true,
"has_downloads":true
}
},
"bitbucket":{
"bitbucket_endpoints":{
"webhookURL":"WEBHOOK_NODE_IP",
"webhook_config_url":"/api/bwebhook"
},
"repo_create_payload":{
"scm":"git",
"description":"This is repository created by Gopaddle",
"is_private":false,
"has_issues":true,
"has_wiki":true,
"fork_policy":"allow_forks"
}
},
"gitlab":{
"github_endpoints":{
"webhookURL":"WEBHOOK_NODE_IP",
"webhook_config_url":"/api/gitlabWebhook"
},
"repo_create_payload":{
"description":"This is repository created by Gopaddle",
"visibility_level":10,
"issues_enabled":true,
"wiki_enabled":true,
"archived":true
}
},
"endpoints":{
"google_endpoints":{
"refresh_token":"https://www.googleapis.com/oauth2/v3/token",
"cluster_details":"https://console.developers.google.com/kubernetes/clusters/details"
},
"github":{
"endpoints":{
"host":"https://github.com",
"host_api":"https://api.github.com"
},
"saas_suffix":{
"access_token":"/login/oauth/access_token",
"user_data":"/user",
"create_repo":"/user/repos",
"getrepo":"/repos/:username/:reponame",
"getcommit":"/repos/:username/:reponame/commits",
"push_content":"/repos/:username/:reponame/contents/:path",
"tags":"/repos/:username/:reponame/tags",
"branches":"/repos/:username/:reponame/branches",
"listing_repos":"/user/repos",
"pull_tarball":"/repos/:username/:reponame/tarball",
"webhook":"/repos/:username/:reponame/hooks",
"webhook_get":"/repos/:username/:reponame/hooks/:hookID",
"Remove_Git_Webhook":"/repos/:username/:reponame/hooks/:hookID"
},
"onprem_suffix":{
"access_token":"/login/oauth/access_token",
"user_data":"/api/v3/user",
"tags":"/api/v3/repos/:username/:reponame/tags",
"getrepo":"/api/v3/repos/:username/:reponame",
"getcommit":"/api/v3/repos/:username/:reponame/commits",
"branches":"/api/v3/repos/:username/:reponame/branches",
"listing_repos":"/api/v3/user/repos",
"pull_tarball":"/api/v3/repos/:username/:reponame/tarball",
"webhook":"/api/v3/repos/:username/:reponame/hooks",
"webhook_get":"/api/v3/repos/:username/:reponame/hooks/:hookID",
"Remove_Git_Webhook":"/api/v3/repos/:username/:reponame/hooks/:hookID"
},
"urlvalidation":[
"https://:hostname/.*/(.*)\\.git",
"git@:hostname:.*/(.*)\\.git",
"https://:hostname/(.*)/.*\\.git",
"git@:hostname:(.*)/.*\\.git"
]
},
"gitlab":{
"endpoints":{
"host":"https://gitlab.com",
"host_api":"https://gitlab.com"
},
"saas_suffix":{
"access_token":"/oauth/token",
"user_data":"/api/v4/user",
"create_repo":"/api/v3/projects",
"getrepo":"/api/v4/projects/:id",
"getcommit":"/api/v4/projects/:id/repository/commits",
"push_content":"/api/v3/projects/:id/repository/files",
"tags":"/api/v4/projects/:id/repository/tags",
"branches":"/api/v4/projects/:id/repository/branches",
"listing_repos":"/user/repos",
"pull_tarball":"git clone -b 'branch' https://oauth2:access_token@:clone_url",
"webhook":"/api/v4/projects/:id/hooks",
"webhook_get":"/api/v4/projects/:id/hooks/:hookID",
"Remove_Git_Webhook":"/api/v4/projects/:id/hooks/:hookID"
},
"onprem_suffix":{
"access_token":"/oauth/token",
"user_data":"/api/v4/user",
"tags":"/api/v4/projects/:id/repository/tags",
"getrepo":"/api/v4/projects/:id",
"getcommit":"/api/v4/projects/:id/repository/commits",
"branches":"/api/v4/projects/:id/repository/branches",
"listing_repos":"/user/repos",
"pull_tarball":"git clone -b 'branch' https://oauth2:access_token@:clone_url",
"webhook":"/api/v4/projects/:id/hooks",
"webhook_get":"/api/v4/projects/:id/hooks/:hookID",
"Remove_Git_Webhook":"/api/v4/projects/:id/hooks/:hookID"
},
"urlvalidation":[
"https://:hostname/(.*?)/(.*?)\\.git",
"git@:hostname:(.*)/(.*)\\.git"
]
},
"bitbucket":{
"endpoints":{
"host":"https://bitbucket.org",
"host_api":"https://api.bitbucket.org"
},
"saas_suffix":{
"access_token":"/site/oauth2/access_token",
"user_data":"/2.0/user",
"user_email":"/2.0/user/emails",
"create_repo":"/2.0/repositories/:username/:reponame",
"getrepo":"/api/2.0/repositories/:username/:reponame",
"getcommit":"/api/2.0/repositories/:username/:reponame/commits",
"tags":"/api/2.0/repositories/:username/:reponame/refs/tags",
"branches":"/api/2.0/repositories/:username/:reponame/refs/branches",
"listing_repos":"/!api/2.0/repositories/:username",
"pull_tarball":"/:username/:reponame/get/:origin.tar.gz",
"webhook":"/2.0/repositories/:username/:reponame/hooks",
"webhook_get":"/2.0/repositories/:username/:reponame/hooks/:hookID",
"Remove_Git_Webhook":"/2.0/repositories/:username/:reponame/hooks/:hookID"
},
"onprem_suffix":{
"access_token":"/site/oauth2/access_token",
"user_data":"/2.0/user",
"user_email":"/2.0/user/emails",
"getrepo":"/api/2.0/repositories/:username/:reponame",
"tags":"/api/2.0/repositories/:username/:reponame/refs/tags",
"branches":"/api/2.0/repositories/:username/:reponame/refs/branches",
"listing_repos":"/!api/2.0/repositories/:username",
"pull_tarball":"/:username/:reponame/get/:origin.tar.gz",
"webhook":"/api/v3/repos/:username/:reponame/hooks",
"webhook_get":"/2.0/repositories/:username/:reponame/hooks/:hookID",
"Remove_Git_Webhook":"/2.0/repositories/:username/:reponame/hooks/:hookID"
},
"urlvalidation":[
"https://.*@:hostname/(.*?)/(.*?)\\.git",
"https://:hostname/(.*?)/(.*?)\\.git",
"git@:hostname:(.*)/(.*)\\.git"
]
},
"github_endpoints":{
"access_token":"https://github.com/login/oauth/access_token",
"user_data":"https://api.github.com/user",
"create_repo":"https://api.github.com/user/repos",
"push_content":"https://api.github.com/repos/:username/:reponame/contents/:path",
"listing_tags":"https://api.github.com/repos/:username/:reponame/tags",
"listing_branches":"https://api.github.com/repos/:username/:reponame/branches",
"listing_repos":"https://api.github.com/user/repos",
"pull_tarball":"https://api.github.com/repos/:username/:reponame/tarball",
"webhook":"https://api.github.com/repos/:username/:reponame/hooks",
"webhook_get":"https://api.github.com/repos/:username/:reponame/hooks/:hookID",
"Remove_Git_Webhook":"https://api.github.com/repos/:username/:reponame/hooks/:hookID"
},
"bitbucket_endpoints":{
"access_token":"https://bitbucket.org/site/oauth2/access_token",
"user_data":"https://api.bitbucket.org/2.0/user",
"user_email":"https://api.bitbucket.org/2.0/user/emails",
"create_repo":"https://api.bitbucket.org/2.0/repositories/:username/:reponame",
"push_content":"",
"listing_tags":"https://bitbucket.org/api/2.0/repositories/:username/:reponame//refs/tags",
"listing_branches":"https://bitbucket.org/api/2.0/repositories/:username/:reponame/refs/branches",
"listing_repos":"https://bitbucket.org/!api/2.0/repositories/:username",
"pull_tarball":"https://bitbucket.org/:username/:reponame/get/:origin.tar.gz",
"webhook_get":"https://api.bitbucket.org/2.0/repositories/:username/:reponame/hooks/:hookID",
"webhook":"https://api.bitbucket.org/2.0/repositories/:username/:reponame/hooks",
"Remove_Git_Webhook":"https://api.bitbucket.org/2.0/repositories/:username/:reponame/hooks/:hookID"
},
"gitlab_endpoints":{
"access_token":"https://gitlab.com/oauth/token",
"user_data":"https://gitlab.com/api/v4/user",
"create_repo":"https://gitlab.com/api/v4/projects",
"push_content":"https://gitlab.com/api/v4/projects/:id/repository/files",
"listing_tags":"https://gitlab.com/api/v4/projects/:id/repository/tags",
"listing_branches":"https://gitlab.com/api/v4/projects/:id/repository/branches",
"listing_repos":"https://api.github.com/user/repos",
"pull_tarball":"git clone :b https://oauth2:access_token@:clone_url",
"webhook":"https://gitlab.com/api/v4/projects/:id/hooks",
"webhook_get":"https://gitlab.com/api/v4/projects/:id/hooks/:hookID",
"Remove_Git_Webhook":"https://gitlab.com/api/v4/projects/:id/hooks/:hookID"
},
"repo_create_payload":{
"scm":"git",
"description":"This is repository created by Gopaddle",
"is_private":false,
"has_issues":true,
"has_wiki":true,
"fork_policy":"allow_forks"
}
},
"google":{
"google_endpoints":{
"refresh_token":"https://www.googleapis.com/oauth2/v3/token",
"cluster_details":"https://console.developers.google.com/kubernetes/clusters/details"
}
},
"logger":{
"logType":"debug"
}
}

Some files were not shown because too many files have changed in this diff Show More