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 }}
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue