feat(dev): okteto integration
This commit is contained in:
		
							parent
							
								
									b21b058005
								
							
						
					
					
						commit
						9783f2de67
					
				
					 8 changed files with 300 additions and 1 deletions
				
			
		
							
								
								
									
										3
									
								
								chart/Chart.yaml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								chart/Chart.yaml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,3 @@ | ||||||
|  | apiVersion: v2 | ||||||
|  | name: misskey | ||||||
|  | version: 0.0.0 | ||||||
							
								
								
									
										166
									
								
								chart/files/default.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										166
									
								
								chart/files/default.yml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,166 @@ | ||||||
|  | #━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ | ||||||
|  | # Misskey configuration | ||||||
|  | #━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ | ||||||
|  | 
 | ||||||
|  | #   ┌─────┐ | ||||||
|  | #───┘ URL └───────────────────────────────────────────────────── | ||||||
|  | 
 | ||||||
|  | # Final accessible URL seen by a user. | ||||||
|  | url: https://example.tld/ | ||||||
|  | 
 | ||||||
|  | # ONCE YOU HAVE STARTED THE INSTANCE, DO NOT CHANGE THE | ||||||
|  | # URL SETTINGS AFTER THAT! | ||||||
|  | 
 | ||||||
|  | #   ┌───────────────────────┐ | ||||||
|  | #───┘ Port and TLS settings └─────────────────────────────────── | ||||||
|  | 
 | ||||||
|  | # | ||||||
|  | # Misskey supports two deployment options for public. | ||||||
|  | # | ||||||
|  | 
 | ||||||
|  | # Option 1: With Reverse Proxy | ||||||
|  | # | ||||||
|  | #                 +----- https://example.tld/ ------------+ | ||||||
|  | #   +------+      |+-------------+      +----------------+| | ||||||
|  | #   | User | ---> || Proxy (443) | ---> | Misskey (3000) || | ||||||
|  | #   +------+      |+-------------+      +----------------+| | ||||||
|  | #                 +---------------------------------------+ | ||||||
|  | # | ||||||
|  | #   You need to setup reverse proxy. (eg. nginx) | ||||||
|  | #   You do not define 'https' section. | ||||||
|  | 
 | ||||||
|  | # Option 2: Standalone | ||||||
|  | # | ||||||
|  | #                 +- https://example.tld/ -+ | ||||||
|  | #   +------+      |   +---------------+    | | ||||||
|  | #   | User | ---> |   | Misskey (443) |    | | ||||||
|  | #   +------+      |   +---------------+    | | ||||||
|  | #                 +------------------------+ | ||||||
|  | # | ||||||
|  | #   You need to run Misskey as root. | ||||||
|  | #   You need to set Certificate in 'https' section. | ||||||
|  | 
 | ||||||
|  | # To use option 1, uncomment below line. | ||||||
|  | port: 3000    # A port that your Misskey server should listen. | ||||||
|  | 
 | ||||||
|  | # To use option 2, uncomment below lines. | ||||||
|  | #port: 443 | ||||||
|  | 
 | ||||||
|  | #https: | ||||||
|  | #  # path for certification | ||||||
|  | #  key: /etc/letsencrypt/live/example.tld/privkey.pem | ||||||
|  | #  cert: /etc/letsencrypt/live/example.tld/fullchain.pem | ||||||
|  | 
 | ||||||
|  | #   ┌──────────────────────────┐ | ||||||
|  | #───┘ PostgreSQL configuration └──────────────────────────────── | ||||||
|  | 
 | ||||||
|  | db: | ||||||
|  |   host: localhost | ||||||
|  |   port: 5432 | ||||||
|  | 
 | ||||||
|  |   # Database name | ||||||
|  |   db: misskey | ||||||
|  | 
 | ||||||
|  |   # Auth | ||||||
|  |   user: example-misskey-user | ||||||
|  |   pass: example-misskey-pass | ||||||
|  | 
 | ||||||
|  |   # Whether disable Caching queries | ||||||
|  |   #disableCache: true | ||||||
|  | 
 | ||||||
|  |   # Extra Connection options | ||||||
|  |   #extra: | ||||||
|  |   #  ssl: true | ||||||
|  | 
 | ||||||
|  | #   ┌─────────────────────┐ | ||||||
|  | #───┘ Redis configuration └───────────────────────────────────── | ||||||
|  | 
 | ||||||
|  | redis: | ||||||
|  |   host: localhost | ||||||
|  |   port: 6379 | ||||||
|  |   #pass: example-pass | ||||||
|  |   #prefix: example-prefix | ||||||
|  |   #db: 1 | ||||||
|  | 
 | ||||||
|  | #   ┌─────────────────────────────┐ | ||||||
|  | #───┘ Elasticsearch configuration └───────────────────────────── | ||||||
|  | 
 | ||||||
|  | #elasticsearch: | ||||||
|  | #  host: localhost | ||||||
|  | #  port: 9200 | ||||||
|  | #  ssl: false | ||||||
|  | #  user:  | ||||||
|  | #  pass:  | ||||||
|  | 
 | ||||||
|  | #   ┌───────────────┐ | ||||||
|  | #───┘ ID generation └─────────────────────────────────────────── | ||||||
|  | 
 | ||||||
|  | # You can select the ID generation method. | ||||||
|  | # You don't usually need to change this setting, but you can | ||||||
|  | # change it according to your preferences. | ||||||
|  | 
 | ||||||
|  | # Available methods: | ||||||
|  | # aid ... Short, Millisecond accuracy | ||||||
|  | # meid ... Similar to ObjectID, Millisecond accuracy | ||||||
|  | # ulid ... Millisecond accuracy | ||||||
|  | # objectid ... This is left for backward compatibility | ||||||
|  | 
 | ||||||
|  | # ONCE YOU HAVE STARTED THE INSTANCE, DO NOT CHANGE THE | ||||||
|  | # ID SETTINGS AFTER THAT! | ||||||
|  | 
 | ||||||
|  | id: 'aid' | ||||||
|  | 
 | ||||||
|  | #   ┌─────────────────────┐ | ||||||
|  | #───┘ Other configuration └───────────────────────────────────── | ||||||
|  | 
 | ||||||
|  | # Whether disable HSTS | ||||||
|  | #disableHsts: true | ||||||
|  | 
 | ||||||
|  | # Number of worker processes | ||||||
|  | #clusterLimit: 1 | ||||||
|  | 
 | ||||||
|  | # Job concurrency per worker | ||||||
|  | # deliverJobConcurrency: 128 | ||||||
|  | # inboxJobConcurrency: 16 | ||||||
|  | 
 | ||||||
|  | # Job rate limiter | ||||||
|  | # deliverJobPerSec: 128 | ||||||
|  | # inboxJobPerSec: 16 | ||||||
|  | 
 | ||||||
|  | # Job attempts | ||||||
|  | # deliverJobMaxAttempts: 12 | ||||||
|  | # inboxJobMaxAttempts: 8 | ||||||
|  | 
 | ||||||
|  | # IP address family used for outgoing request (ipv4, ipv6 or dual) | ||||||
|  | #outgoingAddressFamily: ipv4 | ||||||
|  | 
 | ||||||
|  | # Syslog option | ||||||
|  | #syslog: | ||||||
|  | #  host: localhost | ||||||
|  | #  port: 514 | ||||||
|  | 
 | ||||||
|  | # Proxy for HTTP/HTTPS | ||||||
|  | #proxy: http://127.0.0.1:3128 | ||||||
|  | 
 | ||||||
|  | #proxyBypassHosts: [ | ||||||
|  | #  'example.com', | ||||||
|  | #  '192.0.2.8' | ||||||
|  | #] | ||||||
|  | 
 | ||||||
|  | # Proxy for SMTP/SMTPS | ||||||
|  | #proxySmtp: http://127.0.0.1:3128   # use HTTP/1.1 CONNECT | ||||||
|  | #proxySmtp: socks4://127.0.0.1:1080 # use SOCKS4 | ||||||
|  | #proxySmtp: socks5://127.0.0.1:1080 # use SOCKS5 | ||||||
|  | 
 | ||||||
|  | # Media Proxy | ||||||
|  | #mediaProxy: https://example.com/proxy | ||||||
|  | 
 | ||||||
|  | # Sign to ActivityPub GET request (default: false) | ||||||
|  | #signToActivityPubGet: true | ||||||
|  | 
 | ||||||
|  | #allowedPrivateNetworks: [ | ||||||
|  | #  '127.0.0.1/32' | ||||||
|  | #] | ||||||
|  | 
 | ||||||
|  | # Upload or download file size limits (bytes) | ||||||
|  | #maxFileSize: 262144000 | ||||||
							
								
								
									
										7
									
								
								chart/templates/ConfigMap.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								chart/templates/ConfigMap.yml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,7 @@ | ||||||
|  | apiVersion: v1 | ||||||
|  | kind: ConfigMap | ||||||
|  | metadata: | ||||||
|  |   name: {{ include "misskey.fullname" . }}-config-file | ||||||
|  | data: | ||||||
|  |   default.yml: |- | ||||||
|  | {{ .Files.Get "files/default.yml"|indent 4 }} | ||||||
							
								
								
									
										44
									
								
								chart/templates/Deployment.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								chart/templates/Deployment.yml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,44 @@ | ||||||
|  | apiVersion: apps/v1 | ||||||
|  | kind: Deployment | ||||||
|  | metadata: | ||||||
|  |   name: {{ include "misskey.fullname" . }} | ||||||
|  |   labels: | ||||||
|  | 		{{- include "misskey.labels" . | nindent 4 }} | ||||||
|  | spec: | ||||||
|  |   selector: | ||||||
|  |     matchLabels: | ||||||
|  | 			{{- include "misskey.selectorLabels" . | nindent 6 }} | ||||||
|  |   replicas: 1 | ||||||
|  |   template: | ||||||
|  |     metadata: | ||||||
|  |       labels: | ||||||
|  | 				{{- include "misskey.selectorLabels" . | nindent 8 }} | ||||||
|  |     spec: | ||||||
|  |       containers: | ||||||
|  |         - name: misskey | ||||||
|  |           image: okteto.dev/misskey:latest | ||||||
|  |           volumeMounts: | ||||||
|  |             - name: config-file | ||||||
|  |               mountPath: /misskey/.config | ||||||
|  |               readOnly: true | ||||||
|  |           ports: | ||||||
|  |             - containerPort: 3000 | ||||||
|  |         - name: postgres | ||||||
|  |           image: postgres:14-alpine | ||||||
|  |           env: | ||||||
|  |             - name: POSTGRES_USER | ||||||
|  |               value: "example-misskey-user" | ||||||
|  |             - name: POSTGRES_PASSWORD | ||||||
|  |               value: "example-misskey-pass" | ||||||
|  |             - name: POSTGRES_DB | ||||||
|  |               value: "misskey" | ||||||
|  |           ports: | ||||||
|  |             - containerPort: 5432 | ||||||
|  |         - name: redis | ||||||
|  |           image: redis:alpine | ||||||
|  |           ports: | ||||||
|  |             - containerPort: 6379 | ||||||
|  |       volumes: | ||||||
|  |         - name: config-file | ||||||
|  |           configMap: | ||||||
|  |             name: {{ include "misskey.fullname" . }}-config-file | ||||||
							
								
								
									
										14
									
								
								chart/templates/Service.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								chart/templates/Service.yml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,14 @@ | ||||||
|  | apiVersion: v1 | ||||||
|  | kind: Service | ||||||
|  | metadata: | ||||||
|  |   name: {{ include "misskey.fullname" . }} | ||||||
|  |   annotations: | ||||||
|  |     dev.okteto.com/auto-ingress: "true" | ||||||
|  | spec: | ||||||
|  |   type: ClusterIP | ||||||
|  |   ports: | ||||||
|  |     - port: 3000 | ||||||
|  |       protocol: TCP | ||||||
|  |       name: http | ||||||
|  |   selector: | ||||||
|  | 		{{- include "misskey.selectorLabels" . | nindent 4 }} | ||||||
							
								
								
									
										62
									
								
								chart/templates/_helpers.tpl
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										62
									
								
								chart/templates/_helpers.tpl
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,62 @@ | ||||||
|  | {{/* | ||||||
|  | Expand the name of the chart. | ||||||
|  | */}} | ||||||
|  | {{- define "misskey.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). | ||||||
|  | If release name contains chart name it will be used as a full name. | ||||||
|  | */}} | ||||||
|  | {{- define "misskey.fullname" -}} | ||||||
|  | {{- if .Values.fullnameOverride }} | ||||||
|  | {{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} | ||||||
|  | {{- else }} | ||||||
|  | {{- $name := default .Chart.Name .Values.nameOverride }} | ||||||
|  | {{- if contains $name .Release.Name }} | ||||||
|  | {{- .Release.Name | trunc 63 | trimSuffix "-" }} | ||||||
|  | {{- else }} | ||||||
|  | {{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} | ||||||
|  | {{- end }} | ||||||
|  | {{- end }} | ||||||
|  | {{- end }} | ||||||
|  | 
 | ||||||
|  | {{/* | ||||||
|  | Create chart name and version as used by the chart label. | ||||||
|  | */}} | ||||||
|  | {{- define "misskey.chart" -}} | ||||||
|  | {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} | ||||||
|  | {{- end }} | ||||||
|  | 
 | ||||||
|  | {{/* | ||||||
|  | Common labels | ||||||
|  | */}} | ||||||
|  | {{- define "misskey.labels" -}} | ||||||
|  | helm.sh/chart: {{ include "misskey.chart" . }} | ||||||
|  | {{ include "misskey.selectorLabels" . }} | ||||||
|  | {{- if .Chart.AppVersion }} | ||||||
|  | app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} | ||||||
|  | {{- end }} | ||||||
|  | app.kubernetes.io/managed-by: {{ .Release.Service }} | ||||||
|  | {{- end }} | ||||||
|  | 
 | ||||||
|  | {{/* | ||||||
|  | Selector labels | ||||||
|  | */}} | ||||||
|  | {{- define "misskey.selectorLabels" -}} | ||||||
|  | app.kubernetes.io/name: {{ include "misskey.name" . }} | ||||||
|  | app.kubernetes.io/instance: {{ .Release.Name }} | ||||||
|  | {{- end }} | ||||||
|  | 
 | ||||||
|  | {{/* | ||||||
|  | Create the name of the service account to use | ||||||
|  | */}} | ||||||
|  | {{- define "misskey.serviceAccountName" -}} | ||||||
|  | {{- if .Values.serviceAccount.create }} | ||||||
|  | {{- default (include "misskey.fullname" .) .Values.serviceAccount.name }} | ||||||
|  | {{- else }} | ||||||
|  | {{- default "default" .Values.serviceAccount.name }} | ||||||
|  | {{- end }} | ||||||
|  | {{- end }} | ||||||
|  | @ -9,7 +9,7 @@ services: | ||||||
|       - redis |       - redis | ||||||
| #      - es | #      - es | ||||||
|     ports: |     ports: | ||||||
|       - "127.0.0.1:3000:3000" |       - "3000:3000" | ||||||
|     networks: |     networks: | ||||||
|       - internal_network |       - internal_network | ||||||
|       - external_network |       - external_network | ||||||
|  |  | ||||||
							
								
								
									
										3
									
								
								okteto-pipeline.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								okteto-pipeline.yml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,3 @@ | ||||||
|  | deploy: | ||||||
|  |   - okteto build -t okteto.dev/misskey:latest | ||||||
|  |   - helm upgrade --install misskey chart | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue