20 changed files with 341 additions and 0 deletions
@ -0,0 +1,5 @@ |
|||
draft.toml |
|||
charts/ |
|||
NOTICE |
|||
LICENSE |
|||
README.md |
@ -0,0 +1,27 @@ |
|||
# 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 |
|||
*~ |
|||
# Various IDEs |
|||
.project |
|||
.idea/ |
|||
*.tmproj |
|||
*.png |
|||
|
|||
# known compile time folders |
|||
target/ |
|||
node_modules/ |
|||
vendor/ |
@ -0,0 +1,6 @@ |
|||
FROM node:9-slim |
|||
ENV PORT 8080 |
|||
EXPOSE 8080 |
|||
WORKDIR /usr/src/app |
|||
COPY . . |
|||
CMD ["npm", "start"] |
@ -0,0 +1,4 @@ |
|||
approvers: |
|||
- krithiva |
|||
reviewers: |
|||
- krithiva |
@ -0,0 +1,6 @@ |
|||
aliases: |
|||
- krithiva |
|||
best-approvers: |
|||
- krithiva |
|||
best-reviewers: |
|||
- krithiva |
@ -0,0 +1,21 @@ |
|||
# 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 |
|||
*~ |
|||
# Various IDEs |
|||
.project |
|||
.idea/ |
|||
*.tmproj |
@ -0,0 +1,5 @@ |
|||
apiVersion: v1 |
|||
description: A Helm chart for Kubernetes |
|||
icon: https://raw.githubusercontent.com/jenkins-x/jenkins-x-platform/d273e09/images/nodejs.png |
|||
name: argocd-example-apps |
|||
version: 0.1.0-SNAPSHOT |
@ -0,0 +1,48 @@ |
|||
CHART_REPO := http://jenkins-x-chartmuseum:8080 |
|||
CURRENT=$(pwd) |
|||
NAME := argocd-example-apps |
|||
OS := $(shell uname) |
|||
RELEASE_VERSION := $(shell cat ../../VERSION) |
|||
|
|||
build: clean |
|||
rm -rf requirements.lock |
|||
helm dependency build |
|||
helm lint |
|||
|
|||
install: clean build |
|||
helm install . --name ${NAME} |
|||
|
|||
upgrade: clean build |
|||
helm upgrade ${NAME} . |
|||
|
|||
delete: |
|||
helm delete --purge ${NAME} |
|||
|
|||
clean: |
|||
rm -rf charts |
|||
rm -rf ${NAME}*.tgz |
|||
|
|||
release: clean |
|||
helm dependency build |
|||
helm lint |
|||
helm init --client-only |
|||
helm package . |
|||
curl --fail -u $(CHARTMUSEUM_CREDS_USR):$(CHARTMUSEUM_CREDS_PSW) --data-binary "@$(NAME)-$(shell sed -n 's/^version: //p' Chart.yaml).tgz" $(CHART_REPO)/api/charts |
|||
rm -rf ${NAME}*.tgz% |
|||
|
|||
tag: |
|||
ifeq ($(OS),Darwin) |
|||
sed -i "" -e "s/version:.*/version: $(RELEASE_VERSION)/" Chart.yaml |
|||
sed -i "" -e "s/tag:.*/tag: $(RELEASE_VERSION)/" values.yaml |
|||
else ifeq ($(OS),Linux) |
|||
sed -i -e "s/version:.*/version: $(RELEASE_VERSION)/" Chart.yaml |
|||
sed -i -e "s|repository:.*|repository: $(DOCKER_REGISTRY)\/krithiva\/argocd-example-apps|" values.yaml |
|||
sed -i -e "s/tag:.*/tag: $(RELEASE_VERSION)/" values.yaml |
|||
else |
|||
echo "platfrom $(OS) not supported to release from" |
|||
exit -1 |
|||
endif |
|||
git add --all |
|||
git commit -m "release $(RELEASE_VERSION)" --allow-empty # if first release then no verion update is performed |
|||
git tag -fa v$(RELEASE_VERSION) -m "Release version $(RELEASE_VERSION)" |
|||
git push origin v$(RELEASE_VERSION) |
@ -0,0 +1 @@ |
|||
# Javascript application |
@ -0,0 +1,4 @@ |
|||
|
|||
Get the application URL by running these commands: |
|||
|
|||
kubectl get ingress {{ template "fullname" . }} |
@ -0,0 +1,16 @@ |
|||
{{/* vim: set filetype=mustache: */}} |
|||
{{/* |
|||
Expand the name of the chart. |
|||
*/}} |
|||
{{- define "name" -}} |
|||
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} |
|||
{{- end -}} |
|||
|
|||
{{/* |
|||
Create a default fully qualified app name. |
|||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). |
|||
*/}} |
|||
{{- define "fullname" -}} |
|||
{{- $name := default .Chart.Name .Values.nameOverride -}} |
|||
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} |
|||
{{- end -}} |
@ -0,0 +1,43 @@ |
|||
apiVersion: extensions/v1beta1 |
|||
kind: Deployment |
|||
metadata: |
|||
name: {{ template "fullname" . }} |
|||
labels: |
|||
draft: {{ default "draft-app" .Values.draft }} |
|||
chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}" |
|||
spec: |
|||
replicas: {{ .Values.replicaCount }} |
|||
template: |
|||
metadata: |
|||
labels: |
|||
draft: {{ default "draft-app" .Values.draft }} |
|||
app: {{ template "fullname" . }} |
|||
{{- if .Values.podAnnotations }} |
|||
annotations: |
|||
{{ toYaml .Values.podAnnotations | indent 8 }} |
|||
{{- end }} |
|||
spec: |
|||
containers: |
|||
- name: {{ .Chart.Name }} |
|||
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" |
|||
imagePullPolicy: {{ .Values.image.pullPolicy }} |
|||
ports: |
|||
- containerPort: {{ .Values.service.internalPort }} |
|||
livenessProbe: |
|||
httpGet: |
|||
path: {{ .Values.probePath }} |
|||
port: {{ .Values.service.internalPort }} |
|||
initialDelaySeconds: {{ .Values.livenessProbe.initialDelaySeconds }} |
|||
periodSeconds: {{ .Values.livenessProbe.periodSeconds }} |
|||
successThreshold: {{ .Values.livenessProbe.successThreshold }} |
|||
timeoutSeconds: {{ .Values.livenessProbe.timeoutSeconds }} |
|||
readinessProbe: |
|||
httpGet: |
|||
path: {{ .Values.probePath }} |
|||
port: {{ .Values.service.internalPort }} |
|||
periodSeconds: {{ .Values.readinessProbe.periodSeconds }} |
|||
successThreshold: {{ .Values.readinessProbe.successThreshold }} |
|||
timeoutSeconds: {{ .Values.readinessProbe.timeoutSeconds }} |
|||
resources: |
|||
{{ toYaml .Values.resources | indent 12 }} |
|||
terminationGracePeriodSeconds: {{ .Values.terminationGracePeriodSeconds }} |
@ -0,0 +1,23 @@ |
|||
apiVersion: v1 |
|||
kind: Service |
|||
metadata: |
|||
{{- if .Values.service.name }} |
|||
name: {{ .Values.service.name }} |
|||
{{- else }} |
|||
name: {{ template "fullname" . }} |
|||
{{- end }} |
|||
labels: |
|||
chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}" |
|||
{{- if .Values.service.annotations }} |
|||
annotations: |
|||
{{ toYaml .Values.service.annotations | indent 4 }} |
|||
{{- end }} |
|||
spec: |
|||
type: {{ .Values.service.type }} |
|||
ports: |
|||
- port: {{ .Values.service.externalPort }} |
|||
targetPort: {{ .Values.service.internalPort }} |
|||
protocol: TCP |
|||
name: http |
|||
selector: |
|||
app: {{ template "fullname" . }} |
@ -0,0 +1,34 @@ |
|||
# Default values for node projects. |
|||
# This is a YAML-formatted file. |
|||
# Declare variables to be passed into your templates. |
|||
replicaCount: 1 |
|||
image: |
|||
repository: draft |
|||
tag: dev |
|||
pullPolicy: IfNotPresent |
|||
service: |
|||
name: argocd-example-apps |
|||
type: ClusterIP |
|||
externalPort: 80 |
|||
internalPort: 8080 |
|||
annotations: |
|||
fabric8.io/expose: "true" |
|||
fabric8.io/ingress.annotations: "kubernetes.io/ingress.class: nginx" |
|||
resources: |
|||
limits: |
|||
cpu: 400m |
|||
memory: 256Mi |
|||
requests: |
|||
cpu: 200m |
|||
memory: 128Mi |
|||
probePath: / |
|||
livenessProbe: |
|||
initialDelaySeconds: 60 |
|||
periodSeconds: 10 |
|||
successThreshold: 1 |
|||
timeoutSeconds: 1 |
|||
readinessProbe: |
|||
periodSeconds: 10 |
|||
successThreshold: 1 |
|||
timeoutSeconds: 1 |
|||
terminationGracePeriodSeconds: 10 |
@ -0,0 +1,5 @@ |
|||
apiVersion: v1 |
|||
description: A Helm chart for Kubernetes |
|||
icon: https://raw.githubusercontent.com/jenkins-x/jenkins-x-platform/master/images/java.png |
|||
name: preview |
|||
version: 0.1.0-SNAPSHOT |
@ -0,0 +1,18 @@ |
|||
OS := $(shell uname) |
|||
|
|||
preview: |
|||
ifeq ($(OS),Darwin) |
|||
sed -i "" -e "s/version:.*/version: $(PREVIEW_VERSION)/" Chart.yaml |
|||
sed -i "" -e "s/version:.*/version: $(PREVIEW_VERSION)/" ../*/Chart.yaml |
|||
sed -i "" -e "s/tag:.*/tag: $(PREVIEW_VERSION)/" values.yaml |
|||
else ifeq ($(OS),Linux) |
|||
sed -i -e "s/version:.*/version: $(PREVIEW_VERSION)/" Chart.yaml |
|||
sed -i -e "s/version:.*/version: $(PREVIEW_VERSION)/" ../*/Chart.yaml |
|||
sed -i -e "s|repository:.*|repository: $(DOCKER_REGISTRY)\/krithiva\/argocd-example-apps|" values.yaml |
|||
sed -i -e "s/tag:.*/tag: $(PREVIEW_VERSION)/" values.yaml |
|||
else |
|||
echo "platfrom $(OS) not supported to release from" |
|||
exit -1 |
|||
endif |
|||
echo " version: $(PREVIEW_VERSION)" >> requirements.yaml |
|||
jx step helm build |
@ -0,0 +1,16 @@ |
|||
# !! File must end with empty line !! |
|||
dependencies: |
|||
- alias: expose |
|||
name: exposecontroller |
|||
repository: http://chartmuseum.jenkins-x.io |
|||
version: 2.3.92 |
|||
- alias: cleanup |
|||
name: exposecontroller |
|||
repository: http://chartmuseum.jenkins-x.io |
|||
version: 2.3.92 |
|||
|
|||
# !! "alias: preview" must be last entry in dependencies array !! |
|||
# !! Place custom dependencies above !! |
|||
- alias: preview |
|||
name: argocd-example-apps |
|||
repository: file://../argocd-example-apps |
@ -0,0 +1,22 @@ |
|||
|
|||
expose: |
|||
Annotations: |
|||
helm.sh/hook: post-install,post-upgrade |
|||
helm.sh/hook-delete-policy: hook-succeeded |
|||
config: |
|||
exposer: Ingress |
|||
http: true |
|||
tlsacme: false |
|||
|
|||
cleanup: |
|||
Args: |
|||
- --cleanup |
|||
Annotations: |
|||
helm.sh/hook: pre-delete |
|||
helm.sh/hook-delete-policy: hook-succeeded |
|||
|
|||
preview: |
|||
image: |
|||
repository: |
|||
tag: |
|||
pullPolicy: IfNotPresent |
@ -0,0 +1,6 @@ |
|||
extends: |
|||
file: ../javascript/pipeline.yaml |
|||
agent: |
|||
label: jenkins-nodejs |
|||
container: nodejs |
|||
|
@ -0,0 +1,31 @@ |
|||
apiVersion: skaffold/v1beta2 |
|||
kind: Config |
|||
build: |
|||
tagPolicy: |
|||
envTemplate: |
|||
template: "{{.DOCKER_REGISTRY}}/krithiva/argocd-example-apps:{{.VERSION}}" |
|||
artifacts: |
|||
- imageName: changeme |
|||
workspace: . |
|||
docker: {} |
|||
local: {} |
|||
deploy: |
|||
kubectl: |
|||
manifests: |
|||
profiles: |
|||
- name: dev |
|||
build: |
|||
tagPolicy: |
|||
envTemplate: |
|||
template: "{{.DOCKER_REGISTRY}}/krithiva/argocd-example-apps:{{.DIGEST_HEX}}" |
|||
artifacts: |
|||
- docker: {} |
|||
local: {} |
|||
deploy: |
|||
helm: |
|||
releases: |
|||
- name: argocd-example-apps |
|||
chartPath: charts/argocd-example-apps |
|||
setValueTemplates: |
|||
image.repository: "{{.DOCKER_REGISTRY}}/krithiva/argocd-example-apps" |
|||
image.tag: "{{.DIGEST_HEX}}" |
Loading…
Reference in new issue