forked from k-space/kube
		
	Migrate Nextcloud to Kube
This commit is contained in:
		
							
								
								
									
										254
									
								
								nextcloud/application.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										254
									
								
								nextcloud/application.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,254 @@ | |||||||
|  | --- | ||||||
|  | apiVersion: codemowers.cloud/v1beta1 | ||||||
|  | kind: SecretClaim | ||||||
|  | metadata: | ||||||
|  |   name: nextcloud-admin-secrets | ||||||
|  | spec: | ||||||
|  |   size: 32 | ||||||
|  |   mapping: | ||||||
|  |     - key: password | ||||||
|  |       value: "%(plaintext)s" | ||||||
|  | --- | ||||||
|  | apiVersion: codemowers.cloud/v1beta1 | ||||||
|  | kind: KeydbClaim | ||||||
|  | metadata: | ||||||
|  |   name: nextcloud | ||||||
|  | spec: | ||||||
|  |   class: ephemeral | ||||||
|  |   capacity: 100Mi | ||||||
|  | --- | ||||||
|  | apiVersion: codemowers.io/v1alpha1 | ||||||
|  | kind: OIDCGWClient | ||||||
|  | metadata: | ||||||
|  |   name: nextcloud | ||||||
|  | spec: | ||||||
|  |   displayName: Nextcloud | ||||||
|  |   uri: https://nextcloud.k-space.ee | ||||||
|  |   redirectUris: | ||||||
|  |     - https://nextcloud.k-space.ee/apps/oidc_login/oidc | ||||||
|  |   allowedGroups: | ||||||
|  |     - k-space:floor | ||||||
|  |   grantTypes: | ||||||
|  |     - authorization_code | ||||||
|  |     - refresh_token | ||||||
|  |   responseTypes: | ||||||
|  |     - code | ||||||
|  |   availableScopes: | ||||||
|  |     - openid | ||||||
|  |     - profile | ||||||
|  |   pkce: false | ||||||
|  | --- | ||||||
|  | apiVersion: apps/v1 | ||||||
|  | kind: StatefulSet | ||||||
|  | metadata: | ||||||
|  |   name: nextcloud | ||||||
|  |   labels: | ||||||
|  |     app.kubernetes.io/name: nextcloud | ||||||
|  | spec: | ||||||
|  |   serviceName: nextcloud | ||||||
|  |   replicas: 1 | ||||||
|  |   selector: | ||||||
|  |     matchLabels: | ||||||
|  |       app.kubernetes.io/name: nextcloud | ||||||
|  |   template: | ||||||
|  |     metadata: | ||||||
|  |       labels: | ||||||
|  |         app.kubernetes.io/name: nextcloud | ||||||
|  |     spec: | ||||||
|  |       enableServiceLinks: false | ||||||
|  |       containers: | ||||||
|  |         - name: nextcloud | ||||||
|  |           image: nextcloud:production-apache | ||||||
|  |           env: | ||||||
|  |             - name: OIDC_CLIENT_ID | ||||||
|  |               valueFrom: | ||||||
|  |                 secretKeyRef: | ||||||
|  |                   name: oidc-client-nextcloud-owner-secrets | ||||||
|  |                   key: OIDC_CLIENT_ID | ||||||
|  |             - name: OIDC_CLIENT_SECRET | ||||||
|  |               valueFrom: | ||||||
|  |                 secretKeyRef: | ||||||
|  |                   name: oidc-client-nextcloud-owner-secrets | ||||||
|  |                   key: OIDC_CLIENT_SECRET | ||||||
|  |             - name: OIDC_GATEWAY_AUTH_URI | ||||||
|  |               valueFrom: | ||||||
|  |                 secretKeyRef: | ||||||
|  |                   name: oidc-client-nextcloud-owner-secrets | ||||||
|  |                   key: OIDC_GATEWAY_AUTH_URI | ||||||
|  |             - name: OIDC_GATEWAY_URI | ||||||
|  |               valueFrom: | ||||||
|  |                 secretKeyRef: | ||||||
|  |                   name: oidc-client-nextcloud-owner-secrets | ||||||
|  |                   key: OIDC_GATEWAY_URI | ||||||
|  |             - name: UPLOAD_LIMIT | ||||||
|  |               value: 10G | ||||||
|  |             - name: MYSQL_USER | ||||||
|  |               value: kspace_nextcloud | ||||||
|  |             - name: MYSQL_DATABASE | ||||||
|  |               value: kspace_nextcloud | ||||||
|  |             - name: MYSQL_HOST | ||||||
|  |               value: mariadb.infra.k-space.ee | ||||||
|  |             - name: NEXTCLOUD_ADMIN_USER | ||||||
|  |               value: admin | ||||||
|  |             - name: NEXTCLOUD_TRUSTED_DOMAINS | ||||||
|  |               value: nextcloud.k-space.ee | ||||||
|  |             - name: OBJECTSTORE_S3_HOST | ||||||
|  |               value: 172.20.9.2 | ||||||
|  |             - name: OBJECTSTORE_S3_PORT | ||||||
|  |               value: "9000" | ||||||
|  |             - name: OBJECTSTORE_S3_BUCKET | ||||||
|  |               value: kspace-nextcloud | ||||||
|  |             - name: OBJECTSTORE_S3_SSL | ||||||
|  |               value: "false" | ||||||
|  |             - name: OBJECTSTORE_S3_KEY | ||||||
|  |               value: kspace-nextcloud | ||||||
|  |             - name: OBJECTSTORE_S3_REGION | ||||||
|  |               value: us-west-1 | ||||||
|  |             - name: OBJECTSTORE_S3_USEPATH_STYLE | ||||||
|  |               value: "true" | ||||||
|  |             - name: TRUSTED_PROXIES | ||||||
|  |               value: 0.0.0.0/0 | ||||||
|  |             - name: MAIL_FROM_ADDRESS | ||||||
|  |               value: nextcloud@k-space.ee | ||||||
|  |             - name: SMTP_HOST | ||||||
|  |               value: mail.k-space.ee | ||||||
|  |             - name: MAIL_DOMAIN | ||||||
|  |               value: k-space.ee | ||||||
|  |             - name: NEXTCLOUD_ADMIN_PASSWORD | ||||||
|  |               valueFrom: | ||||||
|  |                 secretKeyRef: | ||||||
|  |                   name: nextcloud-admin-secrets | ||||||
|  |                   key: password | ||||||
|  |             - name: REDIS_HOST | ||||||
|  |               valueFrom: | ||||||
|  |                 secretKeyRef: | ||||||
|  |                   name: keydb-nextcloud-owner-secrets | ||||||
|  |                   key: REDIS_MASTER | ||||||
|  |             - name: REDIS_HOST_PASSWORD | ||||||
|  |               valueFrom: | ||||||
|  |                 secretKeyRef: | ||||||
|  |                   name: keydb-nextcloud-owner-secrets | ||||||
|  |                   key: REDIS_PASSWORD | ||||||
|  |             - name: MYSQL_PASSWORD | ||||||
|  |               valueFrom: | ||||||
|  |                 secretKeyRef: | ||||||
|  |                   name: nextcloud-imported-secrets | ||||||
|  |                   key: MYSQL_PASSWORD | ||||||
|  |             - name: OBJECTSTORE_S3_SECRET | ||||||
|  |               valueFrom: | ||||||
|  |                 secretKeyRef: | ||||||
|  |                   name: nextcloud-imported-secrets | ||||||
|  |                   key: OBJECTSTORE_S3_SECRET | ||||||
|  |           ports: | ||||||
|  |             - containerPort: 80 | ||||||
|  |               name: http | ||||||
|  |           volumeMounts: | ||||||
|  |             - mountPath: /var/www/html | ||||||
|  |               name: data | ||||||
|  |             - mountPath: /var/www/html/config/oidc.config.php | ||||||
|  |               name: config | ||||||
|  |               subPath: oidc.config.php | ||||||
|  |       volumes: | ||||||
|  |         - name: config | ||||||
|  |           projected: | ||||||
|  |             sources: | ||||||
|  |               - configMap: | ||||||
|  |                   name: nextcloud-config | ||||||
|  |   volumeClaimTemplates: | ||||||
|  |     - metadata: | ||||||
|  |         name: data | ||||||
|  |       spec: | ||||||
|  |         accessModes: | ||||||
|  |           - ReadWriteOnce | ||||||
|  |         storageClassName: longhorn | ||||||
|  |         resources: | ||||||
|  |           requests: | ||||||
|  |             storage: 1Gi | ||||||
|  | --- | ||||||
|  | apiVersion: v1 | ||||||
|  | kind: Service | ||||||
|  | metadata: | ||||||
|  |   name: nextcloud | ||||||
|  | spec: | ||||||
|  |   ports: | ||||||
|  |     - port: 80 | ||||||
|  |       protocol: TCP | ||||||
|  |       targetPort: http | ||||||
|  |   selector: | ||||||
|  |     app.kubernetes.io/name: nextcloud | ||||||
|  | --- | ||||||
|  | apiVersion: networking.k8s.io/v1 | ||||||
|  | kind: Ingress | ||||||
|  | metadata: | ||||||
|  |   name: nextcloud | ||||||
|  |   annotations: | ||||||
|  |     traefik.ingress.kubernetes.io/router.entrypoints: websecure | ||||||
|  |     traefik.ingress.kubernetes.io/router.tls: "true" | ||||||
|  |     external-dns.alpha.kubernetes.io/target: traefik.k-space.ee | ||||||
|  | spec: | ||||||
|  |   rules: | ||||||
|  |   - host: nextcloud.k-space.ee | ||||||
|  |     http: | ||||||
|  |       paths: | ||||||
|  |       - pathType: Prefix | ||||||
|  |         path: "/" | ||||||
|  |         backend: | ||||||
|  |           service: | ||||||
|  |             name: nextcloud | ||||||
|  |             port: | ||||||
|  |               number: 80 | ||||||
|  |   tls: | ||||||
|  |   - hosts: | ||||||
|  |     - "*.k-space.ee" | ||||||
|  | --- | ||||||
|  | apiVersion: v1 | ||||||
|  | kind: ConfigMap | ||||||
|  | metadata: | ||||||
|  |   name: nextcloud-config | ||||||
|  | data: | ||||||
|  |   oidc.config.php: |- | ||||||
|  |     <?php | ||||||
|  |     $CONFIG = array ( | ||||||
|  |         'allow_user_to_change_display_name' => false, | ||||||
|  |         'lost_password_link' => 'disabled', | ||||||
|  |         'oidc_login_provider_url' => getenv('OIDC_GATEWAY_URI'), | ||||||
|  |         'oidc_login_client_id' => getenv('OIDC_CLIENT_ID'), | ||||||
|  |         'oidc_login_client_secret' => getenv('OIDC_CLIENT_SECRET'), | ||||||
|  |         'oidc_login_auto_redirect' => true, | ||||||
|  |         'oidc_login_logout_url' => getenv('OIDC_GATEWAY_URI'), | ||||||
|  |         'oidc_login_end_session_redirect' => false, | ||||||
|  |         'oidc_login_default_quota' => '250000000000', | ||||||
|  |         'oidc_login_button_text' => 'Log in with OpenID', | ||||||
|  |         'oidc_login_hide_password_form' => true, | ||||||
|  |         'oidc_login_use_id_token' => false, | ||||||
|  |         'oidc_login_attributes' => array ( | ||||||
|  |             'id' => 'sub', | ||||||
|  |             'name' => 'name', | ||||||
|  |             'mail' => 'email', | ||||||
|  |             //'quota' => 'ownCloudQuota', | ||||||
|  |             'home' => 'homeDirectory', | ||||||
|  |             'ldap_uid' => 'sub', | ||||||
|  |             //'groups' => 'ownCloudGroups', | ||||||
|  |             //'login_filter' => 'realm_access_roles', | ||||||
|  |             //'photoURL' => 'picture', | ||||||
|  |             //'is_admin' => 'ownCloudAdmin', | ||||||
|  |         ), | ||||||
|  |         //'oidc_login_default_group' => 'oidc', | ||||||
|  |         'oidc_login_filter_allowed_values' => null, | ||||||
|  |         'oidc_login_use_external_storage' => false, | ||||||
|  |         'oidc_login_scope' => 'openid profile', | ||||||
|  |         'oidc_login_proxy_ldap' => false, | ||||||
|  |         'oidc_login_disable_registration' => true, | ||||||
|  |         'oidc_login_redir_fallback' => false, | ||||||
|  |         'oidc_login_alt_login_page' => 'assets/login.php', | ||||||
|  |         'oidc_login_tls_verify' => true, | ||||||
|  |         'oidc_create_groups' => false, | ||||||
|  |         'oidc_login_webdav_enabled' => false, | ||||||
|  |         'oidc_login_password_authentication' => false, | ||||||
|  |         'oidc_login_public_key_caching_time' => 86400, | ||||||
|  |         'oidc_login_min_time_between_jwks_requests' => 10, | ||||||
|  |         'oidc_login_well_known_caching_time' => 86400, | ||||||
|  |         'oidc_login_update_avatar' => false, | ||||||
|  |         'oidc_login_skip_proxy' => false, | ||||||
|  |         'oidc_login_code_challenge_method' => '', | ||||||
|  |     ); | ||||||
		Reference in New Issue
	
	Block a user