Skip to content
Snippets Groups Projects
Commit def96d63 authored by Marc Burnie [AWS]'s avatar Marc Burnie [AWS]
Browse files

chore: deleting aws helm chart

parent 941512a6
No related branches found
No related tags found
1 merge request!401chore: deleting aws helm chart
Pipeline #301784 passed
Showing
with 0 additions and 590 deletions
# Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*.orig
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/
# Build files
*.html
build-info.json
\ No newline at end of file
# Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
apiVersion: v2
name: "os-unit"
version: __CHART_VERSION__
description: Unit Helm Chart for Kubernetes
type: application
appVersion: __VERSION__
dependencies:
- name: osdu-aws-lib
version: ~0
repository: __HELM_REPO__
deprecated: false
# OSDU on AWS Service Helm Chart
## Introduction
The following document outlines how to deploy and update the service application onto an existing Kubernetes deployment using the [Helm](https://helm.sh) package manager.
## Prerequisites
The below software must be installed before continuing:
* [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)
* [kubectl](https://kubernetes.io/docs/tasks/tools/)
* [Helm](https://helm.sh/docs/intro/install/)
* [Helm S3 Plugin](https://github.com/hypnoglow/helm-s3)
Additionally, an OSDU on AWS environment must be deployed.
## Installation/Updating
To install or update the service application by executing the following command in the CHART folder:
```bash
helm upgrade [RELEASE_NAME] . -i -n [NAMESPACE]
```
To observe the Kubernetes resources before deploying them using the command:
```bash
helm upgrade [RELEASE_NAME] . -i -n [NAMESPACE] --dry-run --debug
```
To observe the history of the current release, use the following command:
```bash
helm history [RELEASE_NAME] -n [NAMESPACE]
```
To revert to a previous release, use the following command:
```bash
helm rollback [RELEASE] [REVISION] -n [NAMESPACE]
```
Refer to the [Helm CLI guide](https://helm.sh/docs/helm/helm/) for additional commands.
## Customizing the Deployment
It is possible to modify the default values specified in the **values.yaml** file using the --set option. The below parameters can be modified by advanced users to customize the deployment configuration:
### Globals
Global Helm values apply to all services within the parent chart deployment. Global values will not override service defaults or locally set values.
| Name | Example Value | Description | Type | Required |
| --- | ------------- | ----------- | ---- | -------- |
| `global.allowOrigins` | `{http://localhost,https://www.osdu.aws}` | A list of domains that are permitted by CORS policy. An empty list permits all origins. | array[str] | no |
| `global.metricsServerAddress` | `http://prometheus-service.monitoring:8080` | The URL of the accessible metrics server for evaluating autoscaling decisions. | str | no |
| `global.podAnnotations` | `podAnnotations.version=v1.0.0` | Additional annotations on the service pod | dict | no |
| `global.podSecurityContext` | `fsGroup: 1337` | The [pod security context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) apply to all containers in the pod | str | no |
| `global.securityContext` | `fsGroup: 1337` | The security context is the container specific security context. Will inherit [pod security context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) | str | no |
### Local
Local Helm values apply to specific services. Local Helm values will override global values and default presets.
| Name | Example Value | Description | Type | Required |
| --- | ------------- | ----------- | ---- | -------- |
| `image` | `registry.repo.osdu.aws/service:0.21.0` | The custom image of the service deployment. | str | no |
| `imagePullPolicy` | `IfNotPresent` | The service image pull policy | str | no |
| `resources.limits.cpu` | `500M` | [CPU resource management limit for pods](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) | str | no |
| `resources.limits.memory` | `900M` | [Memory resource management limit for pods](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) | str | no |
| `resources.requests.cpu` | `500M` | [MemoCPUry resource management for pods](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) | str | no |
| `resources.requests.memory` | `900M` | [Memory resource management for pods](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) | str | no |
| `replicaCount` | `1` | The number of pod replicas to be initially deployed | int | no |
| `autoscaling.minReplicas` | `1` | Minimum number of pod replicas | int | no |
| `autoscaling.maxReplicas` | `100` | Maximum number of pod replicas | int | no |
| `autoscaling.targetCPUUtilizationPercentage` | `80` | CPU utilization target | int | no |
| `autoscaling.targetMemoryUtilizationPercentage` | `80` | Memory utilization target | int | no |
| `autoscaling.ServiceRequestCountThreshold` | `25` | The number of requests per second threshold averaged over a minute to trigger a scaling event. | int | no |
| `autoscaling.ServiceRequestDurationAverage` | `300` | The response time measured in miliseconds averaged over 3 minutes to trigger a scaling event. | int | no |
| `autoscaling.coolDownPeriod` | `120` | The period to wait after the last trigger reported active before scaling the resource back to 0. Managed by Keda. | int | no |
| `autoscaling.pollingInterval` | `1` | This is the interval to check each trigger on. | int | no |
| `livenessProbe.failureThreshold` | `3` | [Kubernetes probe configuration](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes). | int | no |
| `livenessProbe.periodSeconds` | `10` | [Kubernetes probe configuration](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes). | int | no |
| `livenessProbe.successThreshold` | `1` | [Kubernetes probe configuration](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes). | int | no |
| `livenessProbe.timeoutSeconds` | `1` | [Kubernetes probe configuration](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes). | int | no |
| `readinessProbe.initialDelaySeconds` | `30` | [Kubernetes probe configuration](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes). | int | no |
| `readinessProbe.failureThreshold` | `3` | [Kubernetes probe configuration](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes). | int | no |
| `readinessProbe.periodSeconds` | `10` | [Kubernetes probe configuration](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes). | int | no |
| `readinessProbe.successThreshold` | `1` | [Kubernetes probe configuration](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes). | int | no |
| `readinessProbe.timeoutSeconds` | `1` | [Kubernetes probe configuration](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes). | int | no |
| `maxPendingRequests` | `10000` | Maximum number of requests that will be queued while waiting for a ready connection pool connection. Used for circuit breaking. Used for [circuit breaking.](https://istio.io/latest/docs/tasks/traffic-management/circuit-breaking/). | int | no |
| `maxRequestsPerConnection` | `100` | Maximum number of active requests to a destination. Used for [circuit breaking.](https://istio.io/latest/docs/tasks/traffic-management/circuit-breaking/). | int | no |
| `maxConnections` | `0` | Maximum number of HTTP1 /TCP connections to a destination host. Used for [circuit breaking.](https://istio.io/latest/docs/tasks/traffic-management/circuit-breaking/). | int | no |
| `podAnnotations` | `podAnnotations.version=v1.0.0` | Additional annotations on the service pod | dict | no |
| `podSecurityContext` | `fsGroup: 1337` | The [pod security context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) apply to all containers in the pod | str | no |
| `securityContext` | `fsGroup: 1337` | The security context is the container specific security context. Will inherit [pod security context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) | str | no |
## Uninstalling the Chart
To uninstall the helm release:
```bash
helm uninstall [RELEASE] -n [NAMESPACE] --keep-history
```
\ No newline at end of file
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
{{ .Chart.Name }} deployed to {{ .Release.Namespace }} namespace
{{- if (.Values.service).apiPath }}
Application URL available at path {{ .Values.service.apiPath }}
{{- end }}
\ No newline at end of file
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
{{ template "common.authzpolicy" (list . "os-unit.authzpolicy") -}}
{{- define "os-unit.authzpolicy" -}}
## Define overrides for the service authorization policy resource here
{{- end -}}
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
{{ template "common.deployment" (list . "os-unit.deployment") -}}
{{- define "os-unit.deployment" -}}
## Define overrides for the service deployment resource here
{{- end -}}
\ No newline at end of file
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
{{ template "common.destinationrule" (list . "os-unit.destinationrule") -}}
{{- define "os-unit.destinationrule" -}}
## Define overrides for the service destination rule resource here
{{- end -}}
\ No newline at end of file
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
{{ template "common.scaledobject" (list . "os-unit.scaledobject") -}}
{{- define "os-unit.scaledobject" -}}
## Define overrides for the service's scaled object resource here
{{- end -}}
\ No newline at end of file
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
{{ template "common.service" (list . "os-unit.service") -}}
{{- define "os-unit.service" -}}
## Define overrides for the service resource here
{{- end -}}
\ No newline at end of file
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
{{ template "common.serviceaccount" (list . "os-unit.serviceaccount") -}}
{{- define "os-unit.serviceaccount" -}}
## Define overrides for the service's service account resource here
{{- end -}}
\ No newline at end of file
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
{{ template "common.serviceparameters" (list . "os-unit.serviceparameters") -}}
{{- define "os-unit.serviceparameters" -}}
## Define overrides for the service parameters here
{{- end -}}
\ No newline at end of file
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
{{ template "common.virtualservice" (list . "os-unit.virtualservice") -}}
{{- define "os-unit.virtualservice" -}}
## Define overrides for the service's virtual service resource here
{{- end -}}
\ No newline at end of file
{
"$schema": "osdu-aws-services-public",
"type": "object",
"default": {},
"required": [
"image",
"service",
"serviceAccountRole"
],
"properties": {
"image": {
"type": "string",
"title": "The service container image URL"
},
"imagePullPolicy": {
"type": "string",
"pattern": "^(Always|Never|IfNotPresent)$",
"default": "Always"
},
"service": {
"type": "object",
"required": [
"apiPath"
],
"properties": {
"type": {
"type": "string",
"default": "ClusterIP"
},
"port": {
"type": "integer",
"default": 8080,
"title": "The port the service is hosted on",
"examples": [
8080,
443,
80
]
},
"apiPath": {
"type": "string",
"title": "The main API path",
"examples": [
"/api/service/v1/"
]
},
"readinessProbeHttpPath": {
"type": "string",
"examples": [
"/api/service/v1/actuator/health"
]
},
"livenessProbeHttpPath": {
"type": "string",
"examples": [
"/api/service/v1/actuator/health"
]
},
"startupProbeHttpPath": {
"type": "string",
"examples": [
"/api/service/v1/actuator/health"
]
}
},
"examples": [{
"type": "ClusterIP",
"port": 8080,
"apiPath": "/api/service/v1/",
"readinessProbeHttpPath": "/api/service/v1/actuator/health",
"livenessProbeHttpPath": "/api/service/v1/actuator/health",
"startupProbeHttpPath": "/api/service/v1/actuator/health"
}]
},
"serviceParameters": {
"type": "array",
"title": "The secret parameters consumed by the service",
"items": {
"type": "object",
"required": [
"objectName",
"objectType",
"objectAlias"
],
"properties": {
"objectName": {
"type": "string",
"title": "The SSM or secrets parameter name",
"examples": [
"/osdu/resource-prefix/redis/redisauthtoken",
"/osdu/resource-prefix/redis-core/end-point"
]
},
"objectType": {
"type": "string",
"title": "The type of parameter",
"pattern": "^(secretsmanager|ssmparameter|)$"
},
"objectAlias": {
"type": "string",
"title": "The name of the environment variable consumed by the service",
"examples": [
"CACHE_CLUSTER_KEY",
"CACHE_CLUSTER_ENDPOINT"
]
}
},
"examples": [{
"objectName": "/osdu/resource-prefix/redis/redisauthtoken",
"objectType": "secretsmanager",
"objectAlias": "CACHE_CLUSTER_KEY"
},
{
"objectName": "/osdu/resource-prefix/redis-core/end-point",
"objectType": "ssmparameter",
"objectAlias": "CACHE_CLUSTER_ENDPOINT"
}]
}
},
"environmentVariables": {
"type": "array",
"title": "The environment variables consumed by the service",
"items": {
"type": "object",
"title": "An environment variable definition",
"required": [
"name",
"value"
],
"properties": {
"name": {
"type": "string",
"title": "The name of the environment variable consumed by the service",
"examples": [
"APPLICATION_PORT",
"AWS_REGION"
]
},
"value": {
"type": "string",
"title": "The value of the environment variable"
}
},
"examples": [{
"name": "APPLICATION_PORT",
"value": "8080"
},
{
"name": "AWS_REGION",
"value": "us-east-1"
}]
}
},
"podAnnotations": {
"type": "object",
"default": {}
},
"replicaCount": {
"type": "integer",
"default": 1,
"title": "The number of pod replicas"
},
"maxConnections": {
"type": "integer",
"default": 200,
"title": "The max number of service connections"
},
"resources": {
"type": "object"
},
"autoscaling": {
"type": "object"
},
"serviceAccountRole": {
"type": "string",
"default": "",
"title": "The service account IAM role"
},
"cors": {
"type": "object",
"default": {},
"title": "The cors Schema",
"required": [
"maxAge",
"allowCredentials",
"allowMethods",
"allowHeaders"
],
"properties": {
"maxAge": {
"type": "string",
"default": "60m",
"title": "The max age of the request"
},
"allowCredentials": {
"type": "boolean",
"default": true,
"title": "The allowCredentials Schema"
},
"allowMethods": {
"type": "array",
"title": "A list of supported API request methods",
"items": {
"type": "string",
"title": "Supported API request methods",
"pattern": "^(GET|POST|PUT|PATCH|OPTIONS|DELETE)$"
},
"examples": [
["POST",
"GET",
"PATCH",
"DELETE"
]
]
},
"allowHeaders": {
"type": "array",
"title": "A list of supported headers",
"items": {
"type": "string"
},
"examples": [
["Authorization",
"Data-Partition-Id",
"Correlation-Id",
"Content-Type"
]
]
}
},
"examples": [{
"maxAge": "60m",
"allowCredentials": true,
"allowMethods": [
"POST",
"GET",
"PATCH",
"DELETE"
],
"allowHeaders": [
"Authorization",
"Data-Partition-Id",
"Correlation-Id",
"Content-Type"
]
}]
},
"securityContext": {
"type": "object",
"default": {}
},
"allowedPrincipals": {
"type": "array",
"title": "A list of allowed service principals",
"items": {
"type": "string",
"title": "Allowed principal",
"examples": [
"cluster.local/ns/istio-system/sa/istio-ingressgateway"
]
}
}
}
}
# Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
image: __CONTAINER__
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment