| @ -1,27 +0,0 @@ | |||||
| version: "3" | |||||
| services: | |||||
| appsmith: | |||||
| image: index.docker.io/appsmith/appsmith-ce | |||||
| container_name: appsmith | |||||
| ports: | |||||
| - "80:80" | |||||
| - "443:443" | |||||
| volumes: | |||||
| - ./stacks:/appsmith-stacks | |||||
| restart: unless-stopped | |||||
| # Uncomment the lines below to enable auto-update | |||||
| #labels: | |||||
| # com.centurylinklabs.watchtower.enable: "true" | |||||
| #auto_update: | |||||
| # image: containrrr/watchtower | |||||
| # volumes: | |||||
| # - /var/run/docker.sock:/var/run/docker.sock | |||||
| # # Update check interval in seconds. | |||||
| # command: --schedule "0 0 * ? * *" --label-enable --cleanup | |||||
| # restart: unless-stopped | |||||
| # depends_on: | |||||
| # - appsmith | |||||
| # environment: | |||||
| # - WATCHTOWER_LIFECYCLE_HOOKS=true | |||||
| @ -0,0 +1,23 @@ | |||||
| # 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/ | |||||
| @ -0,0 +1,24 @@ | |||||
| apiVersion: v2 | |||||
| name: appsmith-chart | |||||
| description: A Helm chart for Kubernetes | |||||
| # 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: 0.1.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. | |||||
| # It is recommended to use it with quotes. | |||||
| appVersion: "1.16.0" | |||||
| @ -0,0 +1,82 @@ | |||||
| # Default values for appsmith-chart. | |||||
| # This is a YAML-formatted file. | |||||
| # Declare variables to be passed into your templates. | |||||
| replicaCount: 1 | |||||
| image: | |||||
| repository: nginx | |||||
| pullPolicy: IfNotPresent | |||||
| # Overrides the image tag whose default is the chart appVersion. | |||||
| tag: "" | |||||
| imagePullSecrets: [] | |||||
| nameOverride: "" | |||||
| fullnameOverride: "" | |||||
| serviceAccount: | |||||
| # Specifies whether a service account should be created | |||||
| create: true | |||||
| # Annotations to add to the service account | |||||
| annotations: {} | |||||
| # The name of the service account to use. | |||||
| # If not set and create is true, a name is generated using the fullname template | |||||
| name: "" | |||||
| podAnnotations: {} | |||||
| podSecurityContext: {} | |||||
| # fsGroup: 2000 | |||||
| securityContext: {} | |||||
| # capabilities: | |||||
| # drop: | |||||
| # - ALL | |||||
| # readOnlyRootFilesystem: true | |||||
| # runAsNonRoot: true | |||||
| # runAsUser: 1000 | |||||
| service: | |||||
| type: ClusterIP | |||||
| port: 80 | |||||
| ingress: | |||||
| enabled: false | |||||
| className: "" | |||||
| annotations: {} | |||||
| # kubernetes.io/ingress.class: nginx | |||||
| # kubernetes.io/tls-acme: "true" | |||||
| hosts: | |||||
| - host: chart-example.local | |||||
| paths: | |||||
| - path: / | |||||
| pathType: ImplementationSpecific | |||||
| tls: [] | |||||
| # - secretName: chart-example-tls | |||||
| # hosts: | |||||
| # - chart-example.local | |||||
| resources: {} | |||||
| # We usually recommend not to specify default resources and to leave this as a conscious | |||||
| # choice for the user. This also increases chances charts run on environments with little | |||||
| # resources, such as Minikube. If you do want to specify resources, uncomment the following | |||||
| # lines, adjust them as necessary, and remove the curly braces after 'resources:'. | |||||
| # limits: | |||||
| # cpu: 100m | |||||
| # memory: 128Mi | |||||
| # requests: | |||||
| # cpu: 100m | |||||
| # memory: 128Mi | |||||
| autoscaling: | |||||
| enabled: false | |||||
| minReplicas: 1 | |||||
| maxReplicas: 100 | |||||
| targetCPUUtilizationPercentage: 80 | |||||
| # targetMemoryUtilizationPercentage: 80 | |||||
| nodeSelector: {} | |||||
| tolerations: [] | |||||
| affinity: {} | |||||
| @ -0,0 +1,23 @@ | |||||
| # 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/ | |||||
| @ -0,0 +1,24 @@ | |||||
| apiVersion: v2 | |||||
| name: mattermost-chart | |||||
| description: A Helm chart for Kubernetes | |||||
| # 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: 0.1.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. | |||||
| # It is recommended to use it with quotes. | |||||
| appVersion: "1.16.0" | |||||
| @ -0,0 +1,82 @@ | |||||
| # Default values for mattermost-chart. | |||||
| # This is a YAML-formatted file. | |||||
| # Declare variables to be passed into your templates. | |||||
| replicaCount: 1 | |||||
| image: | |||||
| repository: nginx | |||||
| pullPolicy: IfNotPresent | |||||
| # Overrides the image tag whose default is the chart appVersion. | |||||
| tag: "" | |||||
| imagePullSecrets: [] | |||||
| nameOverride: "" | |||||
| fullnameOverride: "" | |||||
| serviceAccount: | |||||
| # Specifies whether a service account should be created | |||||
| create: true | |||||
| # Annotations to add to the service account | |||||
| annotations: {} | |||||
| # The name of the service account to use. | |||||
| # If not set and create is true, a name is generated using the fullname template | |||||
| name: "" | |||||
| podAnnotations: {} | |||||
| podSecurityContext: {} | |||||
| # fsGroup: 2000 | |||||
| securityContext: {} | |||||
| # capabilities: | |||||
| # drop: | |||||
| # - ALL | |||||
| # readOnlyRootFilesystem: true | |||||
| # runAsNonRoot: true | |||||
| # runAsUser: 1000 | |||||
| service: | |||||
| type: ClusterIP | |||||
| port: 80 | |||||
| ingress: | |||||
| enabled: false | |||||
| className: "" | |||||
| annotations: {} | |||||
| # kubernetes.io/ingress.class: nginx | |||||
| # kubernetes.io/tls-acme: "true" | |||||
| hosts: | |||||
| - host: chart-example.local | |||||
| paths: | |||||
| - path: / | |||||
| pathType: ImplementationSpecific | |||||
| tls: [] | |||||
| # - secretName: chart-example-tls | |||||
| # hosts: | |||||
| # - chart-example.local | |||||
| resources: {} | |||||
| # We usually recommend not to specify default resources and to leave this as a conscious | |||||
| # choice for the user. This also increases chances charts run on environments with little | |||||
| # resources, such as Minikube. If you do want to specify resources, uncomment the following | |||||
| # lines, adjust them as necessary, and remove the curly braces after 'resources:'. | |||||
| # limits: | |||||
| # cpu: 100m | |||||
| # memory: 128Mi | |||||
| # requests: | |||||
| # cpu: 100m | |||||
| # memory: 128Mi | |||||
| autoscaling: | |||||
| enabled: false | |||||
| minReplicas: 1 | |||||
| maxReplicas: 100 | |||||
| targetCPUUtilizationPercentage: 80 | |||||
| # targetMemoryUtilizationPercentage: 80 | |||||
| nodeSelector: {} | |||||
| tolerations: [] | |||||
| affinity: {} | |||||
| @ -1 +0,0 @@ | |||||
| https://computingforgeeks.com/install-and-configure-mattermost-on-a-kubernetes-cluster/ | |||||
| @ -1,6 +0,0 @@ | |||||
| kubectl create -f pv-local-mattermost.yaml | |||||
| kubectl create -f pv-local-mysql-mm.yaml | |||||
| kubectl create -f secrets.yaml | |||||
| kubectl create -f mm-service.yaml | |||||
| kubectl create -f mysql-deployment-mm.yaml | |||||
| kubectl create -f mattermost-deployment.yaml | |||||
| @ -1,6 +0,0 @@ | |||||
| kubectl delete -f mattermost-deployment.yaml | |||||
| kubectl delete -f mm-service.yaml | |||||
| kubectl delete -f mysql-deployment-mm.yaml | |||||
| kubectl delete -f pv-local-mattermost.yaml | |||||
| kubectl delete -f pv-local-mysql-mm.yaml | |||||
| kubectl delete -f secrets.yaml | |||||
| @ -1,13 +0,0 @@ | |||||
| apiVersion: installation.mattermost.com/v1beta1 | |||||
| kind: Mattermost | |||||
| metadata: | |||||
| name: mattermost # Chose the desired name | |||||
| spec: | |||||
| size: 100users # Adjust to your requirements | |||||
| ingress: | |||||
| enabled: true | |||||
| host: k8s-server # Adjust to your domain | |||||
| annotations: | |||||
| kubernetes.io/ingress.class: nginx | |||||
| version: 6.0.1 | |||||
| licenseSecret: "" # If you have created secret in step 1, put its name here | |||||
| @ -1,71 +0,0 @@ | |||||
| apiVersion: v1 | |||||
| kind: Service | |||||
| metadata: | |||||
| name: mattermost-mysql | |||||
| namespace: mattermost | |||||
| labels: | |||||
| app: mattermost | |||||
| spec: | |||||
| ports: | |||||
| - name: mysql | |||||
| port: 3306 | |||||
| targetPort: mysql | |||||
| selector: | |||||
| app: mattermost | |||||
| tier: mysql | |||||
| --- | |||||
| apiVersion: v1 | |||||
| kind: PersistentVolumeClaim | |||||
| metadata: | |||||
| name: mysql-mm-pv-claim | |||||
| namespace: mattermost | |||||
| labels: | |||||
| app: mattermost | |||||
| spec: | |||||
| accessModes: | |||||
| - ReadWriteOnce | |||||
| resources: | |||||
| requests: | |||||
| storage: 10Gi | |||||
| --- | |||||
| apiVersion: apps/v1 | |||||
| kind: Deployment | |||||
| metadata: | |||||
| name: mattermost-mysql | |||||
| namespace: mattermost | |||||
| labels: | |||||
| app: mattermost | |||||
| spec: | |||||
| selector: | |||||
| matchLabels: | |||||
| app: mattermost | |||||
| tier: mysql | |||||
| strategy: | |||||
| type: Recreate | |||||
| template: | |||||
| metadata: | |||||
| labels: | |||||
| app: mattermost | |||||
| tier: mysql | |||||
| spec: | |||||
| containers: | |||||
| - image: docker-registry:32000/mariadb:1.0 | |||||
| name: mysql | |||||
| env: | |||||
| - name: MYSQL_ROOT_PASSWORD | |||||
| valueFrom: | |||||
| secretKeyRef: | |||||
| name: mysqlmm-pass | |||||
| key: password | |||||
| ports: | |||||
| - containerPort: 3306 | |||||
| name: mysql | |||||
| volumeMounts: | |||||
| - name: mysql-persistent-storage | |||||
| mountPath: /var/lib/mysql | |||||
| imagePullSecrets: | |||||
| - name: reg-cred-secret | |||||
| volumes: | |||||
| - name: mysql-persistent-storage | |||||
| persistentVolumeClaim: | |||||
| claimName: mysql-mm-pv-claim | |||||
| @ -1,10 +0,0 @@ | |||||
| apiVersion: v1 | |||||
| kind: Secret | |||||
| metadata: | |||||
| name: mysqlmm-pass | |||||
| namespace: mattermost | |||||
| type: Opaque | |||||
| data: | |||||
| db_user: root | |||||
| db_passwd: RHNhLTAyMTM= | |||||
| password: RHNhLTAyMTM= | |||||
| @ -1,11 +0,0 @@ | |||||
| apiVersion: v1 | |||||
| kind: PersistentVolume | |||||
| metadata: | |||||
| name: mm-data | |||||
| spec: | |||||
| capacity: | |||||
| storage: 10Gi | |||||
| accessModes: | |||||
| - ReadWriteOnce | |||||
| hostPath: | |||||
| path: "/mnt/cluster/mattermost/mattermost-db" | |||||