Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
ae01e69fc2
|
@@ -1,3 +0,0 @@
|
|||||||
FROM busybox
|
|
||||||
|
|
||||||
COPY keycloak-themes/oceanbox /theme
|
|
||||||
@@ -1,109 +0,0 @@
|
|||||||
/* Oceanbox Keycloak Login Theme
|
|
||||||
*
|
|
||||||
* Branding aligned with oceanbox.io:
|
|
||||||
* Primary teal: #0bb4aa
|
|
||||||
* Dark teal: #37746F
|
|
||||||
* Deep blue: #031275
|
|
||||||
* Background: #f9fafd
|
|
||||||
* Text: #101010
|
|
||||||
*/
|
|
||||||
|
|
||||||
:root {
|
|
||||||
--pf-v5-global--primary-color--100: #0bb4aa;
|
|
||||||
--pf-v5-global--primary-color--200: #099e95;
|
|
||||||
--pf-v5-global--link--Color: #0bb4aa;
|
|
||||||
--pf-v5-global--link--Color--hover: #031275;
|
|
||||||
}
|
|
||||||
|
|
||||||
.login-pf body {
|
|
||||||
background: #f9fafd url("../img/oceanbox-bg.png") no-repeat center bottom fixed;
|
|
||||||
background-size: cover;
|
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Login container layout */
|
|
||||||
.pf-v5-c-login__container {
|
|
||||||
grid-template-columns: 34rem;
|
|
||||||
grid-template-areas: "header"
|
|
||||||
"main";
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Logo */
|
|
||||||
div.kc-logo-text {
|
|
||||||
background-image: url('../img/oceanbox-logo-text.png');
|
|
||||||
height: 80px;
|
|
||||||
width: 360px;
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
background-size: contain;
|
|
||||||
background-position: center;
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.kc-logo-text span {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Header */
|
|
||||||
#kc-header-wrapper {
|
|
||||||
font-size: 29px;
|
|
||||||
text-transform: uppercase;
|
|
||||||
letter-spacing: 3px;
|
|
||||||
line-height: 1.2em;
|
|
||||||
white-space: normal;
|
|
||||||
color: #37746F !important;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Login card */
|
|
||||||
.pf-v5-c-login__main {
|
|
||||||
border-radius: 8px;
|
|
||||||
box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Primary button */
|
|
||||||
.pf-v5-c-button.pf-m-primary {
|
|
||||||
--pf-v5-c-button--m-primary--BackgroundColor: #0bb4aa;
|
|
||||||
--pf-v5-c-button--m-primary--hover--BackgroundColor: #099e95;
|
|
||||||
--pf-v5-c-button--m-primary--active--BackgroundColor: #37746F;
|
|
||||||
--pf-v5-c-button--m-primary--focus--BackgroundColor: #099e95;
|
|
||||||
border-radius: 4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Links */
|
|
||||||
.pf-v5-c-button.pf-m-link {
|
|
||||||
--pf-v5-c-button--m-link--Color: #0bb4aa;
|
|
||||||
--pf-v5-c-button--m-link--hover--Color: #031275;
|
|
||||||
}
|
|
||||||
|
|
||||||
a {
|
|
||||||
color: #0bb4aa;
|
|
||||||
}
|
|
||||||
|
|
||||||
a:hover {
|
|
||||||
color: #031275;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Form inputs */
|
|
||||||
.pf-v5-c-form-control > input,
|
|
||||||
.pf-v5-c-form-control > textarea {
|
|
||||||
border-radius: 4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#kc-recovery-codes-list {
|
|
||||||
columns: 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
#certificate_subjectDN {
|
|
||||||
overflow-wrap: break-word;
|
|
||||||
}
|
|
||||||
|
|
||||||
hr {
|
|
||||||
margin-top: var(--pf-v5-global--spacer--sm);
|
|
||||||
margin-bottom: var(--pf-v5-global--spacer--md);
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (min-width: 768px) {
|
|
||||||
div.pf-v5-c-login__main-header {
|
|
||||||
grid-template-columns: 70% 30%;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 2.4 MiB |
BIN
Binary file not shown.
|
Before Width: | Height: | Size: 57 KiB |
@@ -1,5 +0,0 @@
|
|||||||
parent=keycloak.v2
|
|
||||||
import=common/keycloak
|
|
||||||
|
|
||||||
stylesCommon=vendor/patternfly-v5/patternfly.min.css vendor/patternfly-v5/patternfly-addons.css
|
|
||||||
styles=css/styles.css css/oceanbox.css
|
|
||||||
@@ -4,10 +4,10 @@ description: Atlantis map and simulation service
|
|||||||
type: application
|
type: application
|
||||||
# This is the chart version. This version number should be incremented each time you make changes
|
# 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.
|
# to the chart and its templates, including the app version.
|
||||||
version: v1.48.0
|
version: v1.46.5
|
||||||
# This is the version number of the application being deployed. This version number should be
|
# This is the version number of the application being deployed. This version number should be
|
||||||
# incremented each time you make changes to the application.
|
# incremented each time you make changes to the application.
|
||||||
appVersion: v1.48.0
|
appVersion: v1.46.5
|
||||||
dependencies:
|
dependencies:
|
||||||
- name: diagrid-dashboard
|
- name: diagrid-dashboard
|
||||||
version: "0.1.0"
|
version: "0.1.0"
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
replicaCount: 1
|
replicaCount: 1
|
||||||
image:
|
image:
|
||||||
repository: git.oceanbox.io/oceanbox/poseidon/atlantis
|
repository: git.oceanbox.io/oceanbox/poseidon/atlantis
|
||||||
tag: v1.48.0
|
tag: v1.46.5
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
init:
|
init:
|
||||||
enabled: false
|
enabled: false
|
||||||
|
|||||||
@@ -13,9 +13,9 @@ type: application
|
|||||||
# This is the chart version. This version number should be incremented each time you make changes
|
# 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.
|
# to the chart and its templates, including the app version.
|
||||||
# Versions are expected to follow Semantic Versioning (https://semver.org/)
|
# Versions are expected to follow Semantic Versioning (https://semver.org/)
|
||||||
version: v1.48.0
|
version: v1.46.5
|
||||||
# This is the version number of the application being deployed. This version number should be
|
# 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
|
# 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.
|
# follow Semantic Versioning. They should reflect the version the application is using.
|
||||||
# It is recommended to use it with quotes.
|
# It is recommended to use it with quotes.
|
||||||
appVersion: "v1.48.0"
|
appVersion: "v1.46.5"
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ image:
|
|||||||
# This sets the pull policy for images.
|
# This sets the pull policy for images.
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
# Overrides the image tag whose default is the chart appVersion.
|
# Overrides the image tag whose default is the chart appVersion.
|
||||||
tag: v1.48.0
|
tag: v1.46.5
|
||||||
# This is for the secrets for pulling an image from a private repository more information can be found here: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
|
# This is for the secrets for pulling an image from a private repository more information can be found here: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
|
||||||
imagePullSecrets:
|
imagePullSecrets:
|
||||||
- name: gitlab-pull-secret
|
- name: gitlab-pull-secret
|
||||||
|
|||||||
Vendored
+46
@@ -0,0 +1,46 @@
|
|||||||
|
{{- if .Values.httpRoute.enabled -}}
|
||||||
|
{{- $fullName := include "docs.fullname" . -}}
|
||||||
|
{{- $svcPort := .Values.service.port -}}
|
||||||
|
apiVersion: gateway.networking.k8s.io/v1
|
||||||
|
kind: HTTPRoute
|
||||||
|
metadata:
|
||||||
|
name: {{ $fullName }}
|
||||||
|
labels:
|
||||||
|
{{- include "docs.labels" . | nindent 4 }}
|
||||||
|
spec:
|
||||||
|
parentRefs:
|
||||||
|
{{- toYaml .Values.httpRoute.parentRefs | nindent 4 }}
|
||||||
|
{{- with .Values.httpRoute.hostnames }}
|
||||||
|
hostnames:
|
||||||
|
{{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
rules:
|
||||||
|
{{- range .Values.httpRoute.rules }}
|
||||||
|
- {{- with .matches }}
|
||||||
|
matches:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
backendRefs:
|
||||||
|
- name: {{ $fullName }}
|
||||||
|
port: {{ $svcPort }}
|
||||||
|
{{- end }}
|
||||||
|
---
|
||||||
|
apiVersion: cilium.io/v2
|
||||||
|
kind: CiliumNetworkPolicy
|
||||||
|
metadata:
|
||||||
|
name: allow-gateway-to-{{ $fullName }}
|
||||||
|
labels:
|
||||||
|
{{- include "docs.labels" . | nindent 4 }}
|
||||||
|
spec:
|
||||||
|
endpointSelector:
|
||||||
|
matchLabels:
|
||||||
|
{{- include "docs.selectorLabels" . | nindent 6 }}
|
||||||
|
ingress:
|
||||||
|
- fromCIDRSet:
|
||||||
|
{{- range .Values.clusterConfig.ingress_whitelist }}
|
||||||
|
- cidr: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
- fromEndpoints:
|
||||||
|
- matchLabels:
|
||||||
|
"k8s:io.kubernetes.pod.namespace": {{ .Release.Namespace }}
|
||||||
|
{{- end }}
|
||||||
@@ -46,8 +46,13 @@ service:
|
|||||||
type: ClusterIP
|
type: ClusterIP
|
||||||
port: 8080
|
port: 8080
|
||||||
ingress:
|
ingress:
|
||||||
enabled: true
|
enabled: false
|
||||||
className: nginx
|
className: nginx
|
||||||
|
httpRoute:
|
||||||
|
enabled: false
|
||||||
|
parentRefs: []
|
||||||
|
hostnames: []
|
||||||
|
rules: []
|
||||||
persistence:
|
persistence:
|
||||||
enabled: false
|
enabled: false
|
||||||
size: 1G
|
size: 1G
|
||||||
|
|||||||
@@ -0,0 +1,46 @@
|
|||||||
|
{{- if .Values.httpRoute.enabled -}}
|
||||||
|
{{- $fullName := include "makai.fullname" . -}}
|
||||||
|
{{- $svcPort := .Values.service.port -}}
|
||||||
|
apiVersion: gateway.networking.k8s.io/v1
|
||||||
|
kind: HTTPRoute
|
||||||
|
metadata:
|
||||||
|
name: {{ $fullName }}
|
||||||
|
labels:
|
||||||
|
{{- include "makai.labels" . | nindent 4 }}
|
||||||
|
spec:
|
||||||
|
parentRefs:
|
||||||
|
{{- toYaml .Values.httpRoute.parentRefs | nindent 4 }}
|
||||||
|
{{- with .Values.httpRoute.hostnames }}
|
||||||
|
hostnames:
|
||||||
|
{{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
rules:
|
||||||
|
{{- range .Values.httpRoute.rules }}
|
||||||
|
- {{- with .matches }}
|
||||||
|
matches:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
backendRefs:
|
||||||
|
- name: {{ $fullName }}
|
||||||
|
port: {{ $svcPort }}
|
||||||
|
{{- end }}
|
||||||
|
---
|
||||||
|
apiVersion: cilium.io/v2
|
||||||
|
kind: CiliumNetworkPolicy
|
||||||
|
metadata:
|
||||||
|
name: allow-gateway-to-{{ $fullName }}
|
||||||
|
labels:
|
||||||
|
{{- include "makai.labels" . | nindent 4 }}
|
||||||
|
spec:
|
||||||
|
endpointSelector:
|
||||||
|
matchLabels:
|
||||||
|
{{- include "makai.selectorLabels" . | nindent 6 }}
|
||||||
|
ingress:
|
||||||
|
- fromCIDRSet:
|
||||||
|
{{- range .Values.clusterConfig.ingress_whitelist }}
|
||||||
|
- cidr: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
- fromEndpoints:
|
||||||
|
- matchLabels:
|
||||||
|
"k8s:io.kubernetes.pod.namespace": {{ .Release.Namespace }}
|
||||||
|
{{- end }}
|
||||||
@@ -46,8 +46,13 @@ service:
|
|||||||
type: ClusterIP
|
type: ClusterIP
|
||||||
port: 8080
|
port: 8080
|
||||||
ingress:
|
ingress:
|
||||||
enabled: true
|
enabled: false
|
||||||
className: nginx
|
className: nginx
|
||||||
|
httpRoute:
|
||||||
|
enabled: false
|
||||||
|
parentRefs: []
|
||||||
|
hostnames: []
|
||||||
|
rules: []
|
||||||
persistence:
|
persistence:
|
||||||
enabled: false
|
enabled: false
|
||||||
size: 1G
|
size: 1G
|
||||||
|
|||||||
@@ -1,6 +0,0 @@
|
|||||||
dependencies:
|
|
||||||
- name: diagrid-dashboard
|
|
||||||
repository: file://../diagrid-dashboard
|
|
||||||
version: 0.1.0
|
|
||||||
digest: sha256:4fdb3148a2a6439223d7844a3083da2de324dd47e5cb3ac4a5d9c436e6e2c775
|
|
||||||
generated: "2026-02-25T16:15:48.608231856+01:00"
|
|
||||||
@@ -4,10 +4,10 @@ description: A Helm chart for Kubernetes
|
|||||||
type: application
|
type: application
|
||||||
# This is the chart version. This version number should be incremented each time you make changes
|
# 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.
|
# to the chart and its templates, including the app version.
|
||||||
version: v1.7.1
|
version: v1.6.13
|
||||||
# This is the version number of the application being deployed. This version number should be
|
# This is the version number of the application being deployed. This version number should be
|
||||||
# incremented each time you make changes to the application.
|
# incremented each time you make changes to the application.
|
||||||
appVersion: v1.7.1
|
appVersion: v1.6.13
|
||||||
dependencies:
|
dependencies:
|
||||||
- name: diagrid-dashboard
|
- name: diagrid-dashboard
|
||||||
version: "0.1.0"
|
version: "0.1.0"
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
replicaCount: 1
|
replicaCount: 1
|
||||||
image:
|
image:
|
||||||
repository: git.oceanbox.io/oceanbox/plume/plume
|
repository: git.oceanbox.io/oceanbox/plume/plume
|
||||||
tag: v1.7.1
|
tag: v1.6.13
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
init:
|
init:
|
||||||
enabled: false
|
enabled: false
|
||||||
@@ -90,5 +90,6 @@ serviceMonitor:
|
|||||||
nodeSelector: {}
|
nodeSelector: {}
|
||||||
tolerations: []
|
tolerations: []
|
||||||
affinity: {}
|
affinity: {}
|
||||||
|
|
||||||
diagrid-dashboard:
|
diagrid-dashboard:
|
||||||
enabled: false
|
enabled: false
|
||||||
|
|||||||
@@ -4,10 +4,10 @@ description: A Helm chart for Kubernetes
|
|||||||
type: application
|
type: application
|
||||||
# This is the chart version. This version number should be incremented each time you make changes
|
# 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.
|
# to the chart and its templates, including the app version.
|
||||||
version: v1.48.0
|
version: v1.46.5
|
||||||
# This is the version number of the application being deployed. This version number should be
|
# This is the version number of the application being deployed. This version number should be
|
||||||
# incremented each time you make changes to the application.
|
# incremented each time you make changes to the application.
|
||||||
appVersion: v1.48.0
|
appVersion: v1.46.5
|
||||||
dependencies:
|
dependencies:
|
||||||
- name: diagrid-dashboard
|
- name: diagrid-dashboard
|
||||||
version: "0.1.0"
|
version: "0.1.0"
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
replicaCount: 1
|
replicaCount: 1
|
||||||
image:
|
image:
|
||||||
repository: git.oceanbox.io/oceanbox/poseidon/sorcerer
|
repository: git.oceanbox.io/oceanbox/poseidon/sorcerer
|
||||||
tag: v1.48.0
|
tag: v1.46.5
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
init:
|
init:
|
||||||
enabled: false
|
enabled: false
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ releases:
|
|||||||
- name: argocd
|
- name: argocd
|
||||||
namespace: argocd
|
namespace: argocd
|
||||||
chart: argo/argo-cd
|
chart: argo/argo-cd
|
||||||
version: 9.4.17
|
version: 9.4.10
|
||||||
condition: argo.enabled
|
condition: argo.enabled
|
||||||
values:
|
values:
|
||||||
- ../values/argo/values/argocd.yaml.gotmpl
|
- ../values/argo/values/argocd.yaml.gotmpl
|
||||||
@@ -35,7 +35,7 @@ releases:
|
|||||||
- name: argo-rollouts
|
- name: argo-rollouts
|
||||||
namespace: argocd
|
namespace: argocd
|
||||||
chart: argo/argo-rollouts
|
chart: argo/argo-rollouts
|
||||||
version: 2.40.9
|
version: 2.40.6
|
||||||
condition: argo.rollouts.enabled
|
condition: argo.rollouts.enabled
|
||||||
values:
|
values:
|
||||||
- ../values/argo/values/rollouts.yaml.gotmpl
|
- ../values/argo/values/rollouts.yaml.gotmpl
|
||||||
@@ -43,7 +43,7 @@ releases:
|
|||||||
- name: argo-workflows
|
- name: argo-workflows
|
||||||
namespace: argocd
|
namespace: argocd
|
||||||
chart: argo/argo-workflows
|
chart: argo/argo-workflows
|
||||||
version: 1.0.7
|
version: 0.47.5
|
||||||
condition: argo.workflows.enabled
|
condition: argo.workflows.enabled
|
||||||
missingFileHandler: Info
|
missingFileHandler: Info
|
||||||
- name: manifests
|
- name: manifests
|
||||||
|
|||||||
@@ -1,46 +0,0 @@
|
|||||||
# yaml-language-server: $schema=https://www.schemastore.org/helmfile.json
|
|
||||||
|
|
||||||
bases:
|
|
||||||
- ../envs/environments.yaml.gotmpl
|
|
||||||
|
|
||||||
repositories:
|
|
||||||
- name: catalyst
|
|
||||||
oci: true
|
|
||||||
url: 'public.ecr.aws/diagrid/catalyst'
|
|
||||||
|
|
||||||
commonLabels:
|
|
||||||
tier: system
|
|
||||||
|
|
||||||
releases:
|
|
||||||
- name: catalyst
|
|
||||||
namespace: cra-agent
|
|
||||||
chart: catalyst/catalyst
|
|
||||||
version: v1.38.0
|
|
||||||
condition: catalyst.enabled
|
|
||||||
values:
|
|
||||||
- ../values/catalyst/values/values.yaml
|
|
||||||
- ../values/catalyst/values/values-{{ .Environment.Name }}.yaml
|
|
||||||
postRenderer: ../bin/kustomizer
|
|
||||||
postRendererArgs:
|
|
||||||
- ../values/catalyst/kustomize/{{ .Environment.Name }}
|
|
||||||
missingFileHandler: Info
|
|
||||||
- name: manifests
|
|
||||||
namespace: cra-agent
|
|
||||||
chart: manifests
|
|
||||||
condition: catalyst.enabled
|
|
||||||
missingFileHandler: Info
|
|
||||||
values:
|
|
||||||
- ../values/env.yaml
|
|
||||||
- ../values/env-{{ requiredEnv "ARGOCD_ENV_CLUSTER_NAME" }}.yaml
|
|
||||||
- ../values/catalyst/env.yaml.gotmpl
|
|
||||||
- ../values/catalyst/env-{{ requiredEnv "ARGOCD_ENV_CLUSTER_NAME" }}.yaml.gotmpl
|
|
||||||
hooks:
|
|
||||||
- events: [ prepare, cleanup ]
|
|
||||||
showlogs: true
|
|
||||||
command: ../bin/helmify
|
|
||||||
args:
|
|
||||||
- '{{`{{ if eq .Event.Name "prepare" }}build{{ else }}clean{{ end }}`}}'
|
|
||||||
- '{{`{{ .Release.Chart }}`}}'
|
|
||||||
- '{{`{{ .Environment.Name }}`}}'
|
|
||||||
- ../values/catalyst/manifests
|
|
||||||
- manifests
|
|
||||||
@@ -13,7 +13,7 @@ releases:
|
|||||||
- name: cert-manager
|
- name: cert-manager
|
||||||
namespace: cert-manager
|
namespace: cert-manager
|
||||||
chart: cert-manager/cert-manager
|
chart: cert-manager/cert-manager
|
||||||
version: v1.20.1
|
version: v1.19.4
|
||||||
condition: cert_manager.enabled
|
condition: cert_manager.enabled
|
||||||
values:
|
values:
|
||||||
- ../values/cert-manager/values/cert-manager.yaml.gotmpl
|
- ../values/cert-manager/values/cert-manager.yaml.gotmpl
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ releases:
|
|||||||
condition: docs.enabled
|
condition: docs.enabled
|
||||||
values:
|
values:
|
||||||
- ../values/docs/values/values.yaml
|
- ../values/docs/values/values.yaml
|
||||||
|
- ../values/docs/values/values.yaml.gotmpl
|
||||||
- ../values/docs/values/values-{{ .Environment.Name }}.yaml
|
- ../values/docs/values/values-{{ .Environment.Name }}.yaml
|
||||||
postRenderer: ../bin/kustomizer
|
postRenderer: ../bin/kustomizer
|
||||||
postRendererArgs:
|
postRendererArgs:
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ releases:
|
|||||||
- name: dragonfly
|
- name: dragonfly
|
||||||
namespace: dragonfly
|
namespace: dragonfly
|
||||||
chart: dragonfly/dragonfly-operator
|
chart: dragonfly/dragonfly-operator
|
||||||
version: v1.5.0
|
version: v1.4.0
|
||||||
condition: dragonfly.enabled
|
condition: dragonfly.enabled
|
||||||
values:
|
values:
|
||||||
- ../values/dragonfly/values/dragonfly.yaml.gotmpl
|
- ../values/dragonfly/values/dragonfly.yaml.gotmpl
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ releases:
|
|||||||
condition: gitea.enabled
|
condition: gitea.enabled
|
||||||
values:
|
values:
|
||||||
- ../values/gitea/values/values.yaml
|
- ../values/gitea/values/values.yaml
|
||||||
|
- ../values/gitea/values/values.yaml.gotmpl
|
||||||
- ../values/gitea/values/values-{{ .Environment.Name }}.yaml
|
- ../values/gitea/values/values-{{ .Environment.Name }}.yaml
|
||||||
postRenderer: ../bin/kustomizer
|
postRenderer: ../bin/kustomizer
|
||||||
postRendererArgs:
|
postRendererArgs:
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ releases:
|
|||||||
- name: ingress-nginx
|
- name: ingress-nginx
|
||||||
namespace: ingress-nginx
|
namespace: ingress-nginx
|
||||||
chart: ingress-nginx/ingress-nginx
|
chart: ingress-nginx/ingress-nginx
|
||||||
version: 4.15.1
|
version: 4.14.3
|
||||||
condition: nginx.enabled
|
condition: nginx.enabled
|
||||||
values:
|
values:
|
||||||
- ../values/ingress-nginx/values/ingress-nginx.yaml.gotmpl
|
- ../values/ingress-nginx/values/ingress-nginx.yaml.gotmpl
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ releases:
|
|||||||
- name: {{ .Environment.Name }}-keycloak
|
- name: {{ .Environment.Name }}-keycloak
|
||||||
namespace: keycloak
|
namespace: keycloak
|
||||||
chart: bitnami/keycloak
|
chart: bitnami/keycloak
|
||||||
version: 25.2.0
|
version: 24.9.0
|
||||||
condition: keycloak.enabled
|
condition: keycloak.enabled
|
||||||
values:
|
values:
|
||||||
- ../values/keycloak/values/values.yaml
|
- ../values/keycloak/values/values.yaml
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ releases:
|
|||||||
- name: kueue
|
- name: kueue
|
||||||
namespace: kueue-system
|
namespace: kueue-system
|
||||||
chart: oci://registry.k8s.io/kueue/charts/kueue
|
chart: oci://registry.k8s.io/kueue/charts/kueue
|
||||||
version: 0.16.4
|
version: 0.15.0
|
||||||
condition: kueue.enabled
|
condition: kueue.enabled
|
||||||
values:
|
values:
|
||||||
- ../values/kueue/values/values.yaml
|
- ../values/kueue/values/values.yaml
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ releases:
|
|||||||
- name: loki
|
- name: loki
|
||||||
namespace: loki
|
namespace: loki
|
||||||
chart: loki/loki
|
chart: loki/loki
|
||||||
version: 6.55.0
|
version: 6.53.0
|
||||||
condition: loki.enabled
|
condition: loki.enabled
|
||||||
values:
|
values:
|
||||||
- ../values/loki/values/loki.yaml.gotmpl
|
- ../values/loki/values/loki.yaml.gotmpl
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ releases:
|
|||||||
condition: makai.enabled
|
condition: makai.enabled
|
||||||
values:
|
values:
|
||||||
- ../values/makai/values/values.yaml
|
- ../values/makai/values/values.yaml
|
||||||
|
- ../values/makai/values/values.yaml.gotmpl
|
||||||
- ../values/makai/values/values-{{ .Environment.Name }}.yaml
|
- ../values/makai/values/values-{{ .Environment.Name }}.yaml
|
||||||
postRenderer: ../bin/kustomizer
|
postRenderer: ../bin/kustomizer
|
||||||
postRendererArgs:
|
postRendererArgs:
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ releases:
|
|||||||
- name: mariadb-operator
|
- name: mariadb-operator
|
||||||
namespace: mariadb-operator
|
namespace: mariadb-operator
|
||||||
chart: mariadb-operator/mariadb-operator
|
chart: mariadb-operator/mariadb-operator
|
||||||
version: 26.3.0
|
version: 25.10.4
|
||||||
condition: mariadb_operator.enabled
|
condition: mariadb_operator.enabled
|
||||||
values:
|
values:
|
||||||
- ../values/mariadb-operator/values/mariadb-operator.yaml.gotmpl
|
- ../values/mariadb-operator/values/mariadb-operator.yaml.gotmpl
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ releases:
|
|||||||
namespace: {{ .Environment.Name }}-openfga
|
namespace: {{ .Environment.Name }}-openfga
|
||||||
{{- end }}
|
{{- end }}
|
||||||
chart: openfga/openfga
|
chart: openfga/openfga
|
||||||
version: 0.2.62
|
version: 0.2.55
|
||||||
condition: openfga.enabled
|
condition: openfga.enabled
|
||||||
values:
|
values:
|
||||||
- ../values/openfga/values/values.yaml
|
- ../values/openfga/values/values.yaml
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ releases:
|
|||||||
- name: opentelemetry-collector
|
- name: opentelemetry-collector
|
||||||
namespace: otel
|
namespace: otel
|
||||||
chart: open-telemetry/opentelemetry-collector
|
chart: open-telemetry/opentelemetry-collector
|
||||||
version: 0.147.1
|
version: 0.146.1
|
||||||
condition: otel.enabled
|
condition: otel.enabled
|
||||||
values:
|
values:
|
||||||
- ../values/opentelemetry-collector/values/values.yaml
|
- ../values/opentelemetry-collector/values/values.yaml
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ releases:
|
|||||||
- name: prometheus
|
- name: prometheus
|
||||||
namespace: prometheus
|
namespace: prometheus
|
||||||
chart: prometheus/kube-prometheus-stack
|
chart: prometheus/kube-prometheus-stack
|
||||||
version: 82.15.1
|
version: 82.10.1
|
||||||
condition: prometheus.enabled
|
condition: prometheus.enabled
|
||||||
values:
|
values:
|
||||||
- ../values/prometheus/values/prometheus.yaml.gotmpl
|
- ../values/prometheus/values/prometheus.yaml.gotmpl
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ releases:
|
|||||||
- name: slurm-operator
|
- name: slurm-operator
|
||||||
namespace: slinky
|
namespace: slinky
|
||||||
chart: slurm-operator/slurm-operator
|
chart: slurm-operator/slurm-operator
|
||||||
version: 1.0.3
|
version: 1.0.2
|
||||||
condition: slurm_operator.enabled
|
condition: slurm_operator.enabled
|
||||||
values:
|
values:
|
||||||
- ../values/slurm-operator/values/slurm-operator.yaml.gotmpl
|
- ../values/slurm-operator/values/slurm-operator.yaml.gotmpl
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ releases:
|
|||||||
- name: slurm
|
- name: slurm
|
||||||
namespace: slurm
|
namespace: slurm
|
||||||
chart: slurm/slurm
|
chart: slurm/slurm
|
||||||
version: 1.0.3
|
version: 1.0.2
|
||||||
condition: slurm.enabled
|
condition: slurm.enabled
|
||||||
values:
|
values:
|
||||||
- ../values/slurm/values/slurm.yaml.gotmpl
|
- ../values/slurm/values/slurm.yaml.gotmpl
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ releases:
|
|||||||
- name: umami
|
- name: umami
|
||||||
namespace: analytics
|
namespace: analytics
|
||||||
chart: umami/umami
|
chart: umami/umami
|
||||||
version: 7.7.11
|
version: 7.7.2
|
||||||
condition: umami.enabled
|
condition: umami.enabled
|
||||||
values:
|
values:
|
||||||
- ../values/umami/values/values.yaml
|
- ../values/umami/values/values.yaml
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ releases:
|
|||||||
- name: velero
|
- name: velero
|
||||||
namespace: velero
|
namespace: velero
|
||||||
chart: velero/velero
|
chart: velero/velero
|
||||||
version: 12.0.0
|
version: 11.4.0
|
||||||
condition: velero.enabled
|
condition: velero.enabled
|
||||||
values:
|
values:
|
||||||
- ../values/velero/values/velero.yaml.gotmpl
|
- ../values/velero/values/velero.yaml.gotmpl
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ releases:
|
|||||||
- name: x509-exporter
|
- name: x509-exporter
|
||||||
namespace: x509-exporter
|
namespace: x509-exporter
|
||||||
chart: x509-exporter/x509-certificate-exporter
|
chart: x509-exporter/x509-certificate-exporter
|
||||||
version: 3.20.0
|
version: 3.19.1
|
||||||
condition: x509_exporter.enabled
|
condition: x509_exporter.enabled
|
||||||
values:
|
values:
|
||||||
- ../values/x509-exporter/values/x509-exporter.yaml.gotmpl
|
- ../values/x509-exporter/values/x509-exporter.yaml.gotmpl
|
||||||
|
|||||||
@@ -1,19 +0,0 @@
|
|||||||
{
|
|
||||||
buildGoModule,
|
|
||||||
fetchFromGitHub,
|
|
||||||
}:
|
|
||||||
buildGoModule rec {
|
|
||||||
pname = "kueuectl";
|
|
||||||
version = "0.16.3";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "kubernetes-sigs";
|
|
||||||
repo = "kueue";
|
|
||||||
rev = "v${version}";
|
|
||||||
hash = "sha256-JbU+ZoQ+YriaiIbbVCe45OTYycxYRanLhmQAdpE+xQ4=";
|
|
||||||
};
|
|
||||||
|
|
||||||
vendorHash = null;
|
|
||||||
|
|
||||||
subPackages = [ "cmd/kueuectl" ];
|
|
||||||
}
|
|
||||||
+18
-5
@@ -1,10 +1,23 @@
|
|||||||
{
|
{
|
||||||
"pins": {
|
"pins": {
|
||||||
|
"git-hooks": {
|
||||||
|
"type": "Git",
|
||||||
|
"repository": {
|
||||||
|
"type": "GitHub",
|
||||||
|
"owner": "cachix",
|
||||||
|
"repo": "git-hooks.nix"
|
||||||
|
},
|
||||||
|
"branch": "master",
|
||||||
|
"submodules": false,
|
||||||
|
"revision": "a1ef738813b15cf8ec759bdff5761b027e3e1d23",
|
||||||
|
"url": "https://github.com/cachix/git-hooks.nix/archive/a1ef738813b15cf8ec759bdff5761b027e3e1d23.tar.gz",
|
||||||
|
"hash": "sha256-Efs3VUPelRduf3PpfPP2ovEB4CXT7vHf8W+xc49RL/U="
|
||||||
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"type": "Channel",
|
"type": "Channel",
|
||||||
"name": "nixpkgs-unstable",
|
"name": "nixpkgs-unstable",
|
||||||
"url": "https://releases.nixos.org/nixpkgs/nixpkgs-26.05pre961788.75690239f08f/nixexprs.tar.xz",
|
"url": "https://releases.nixos.org/nixpkgs/nixpkgs-26.05pre930822.ed142ab1b3a0/nixexprs.tar.xz",
|
||||||
"hash": "sha256-p0h/nSeqzIkbn/2uFC4keoIPwmqXGHsX0gkCXM7km00="
|
"hash": "sha256-XH6awru9NnBc/m+2YhRNT8r1PAKEiPGF3gs//F3ods0="
|
||||||
},
|
},
|
||||||
"treefmt-nix": {
|
"treefmt-nix": {
|
||||||
"type": "Git",
|
"type": "Git",
|
||||||
@@ -15,9 +28,9 @@
|
|||||||
},
|
},
|
||||||
"branch": "main",
|
"branch": "main",
|
||||||
"submodules": false,
|
"submodules": false,
|
||||||
"revision": "71b125cd05fbfd78cab3e070b73544abe24c5016",
|
"revision": "337a4fe074be1042a35086f15481d763b8ddc0e7",
|
||||||
"url": "https://github.com/numtide/treefmt-nix/archive/71b125cd05fbfd78cab3e070b73544abe24c5016.tar.gz",
|
"url": "https://github.com/numtide/treefmt-nix/archive/337a4fe074be1042a35086f15481d763b8ddc0e7.tar.gz",
|
||||||
"hash": "sha256-6E/yhXP7Oy/NbXtf1ktzmU8SdVqJQ09HC/48ebEGBpk="
|
"hash": "sha256-wQ6NJSuFqAEmIg2VMnLdCnUc0b7vslUohqqGGD+Fyxk="
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"version": 7
|
"version": 7
|
||||||
|
|||||||
@@ -7,7 +7,6 @@ let
|
|||||||
overlays = [ ];
|
overlays = [ ];
|
||||||
};
|
};
|
||||||
treefmt = import ./nix/treefmt.nix { };
|
treefmt = import ./nix/treefmt.nix { };
|
||||||
kueuectl = pkgs.callPackage ./nix/kueuectl.nix { };
|
|
||||||
in
|
in
|
||||||
pkgs.mkShellNoCC {
|
pkgs.mkShellNoCC {
|
||||||
packages = [
|
packages = [
|
||||||
@@ -28,7 +27,6 @@ pkgs.mkShellNoCC {
|
|||||||
pkgs.kubectl-rook-ceph
|
pkgs.kubectl-rook-ceph
|
||||||
|
|
||||||
# other tools activate when needed
|
# other tools activate when needed
|
||||||
kueuectl
|
|
||||||
# pkgs.step-cli
|
# pkgs.step-cli
|
||||||
# pkgs.linkerd
|
# pkgs.linkerd
|
||||||
# pkgs.cmctl
|
# pkgs.cmctl
|
||||||
@@ -37,15 +35,12 @@ pkgs.mkShellNoCC {
|
|||||||
# pkgs.renovate
|
# pkgs.renovate
|
||||||
# pkgs.graphviz
|
# pkgs.graphviz
|
||||||
# pkgs.hubble
|
# pkgs.hubble
|
||||||
pkgs.cilium-cli
|
# pkgs.dapr-cli
|
||||||
pkgs.dapr-cli
|
|
||||||
];
|
];
|
||||||
|
|
||||||
# Environment variables
|
# Environment variables
|
||||||
ARGOCD_ENV_CLUSTER_NAME = "ekman";
|
ARGOCD_ENV_CLUSTER_NAME = "ekman";
|
||||||
HELM_GIT_ACCESS_TOKEN = "glpat-xxx";
|
HELM_GIT_ACCESS_TOKEN = "glpat-xxx";
|
||||||
API_SERVER_IP = "localhost";
|
|
||||||
API_SERVER_PORT = "7445";
|
|
||||||
|
|
||||||
# Alternative shells
|
# Alternative shells
|
||||||
passthru = pkgs.lib.mapAttrs (name: value: pkgs.mkShellNoCC (value // { inherit name; })) {
|
passthru = pkgs.lib.mapAttrs (name: value: pkgs.mkShellNoCC (value // { inherit name; })) {
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ spec:
|
|||||||
managedNamespaceMetadata:
|
managedNamespaceMetadata:
|
||||||
labels:
|
labels:
|
||||||
component: sys
|
component: sys
|
||||||
|
shared-gateway-access: "true"
|
||||||
syncOptions:
|
syncOptions:
|
||||||
- CreateNamespace=true
|
- CreateNamespace=true
|
||||||
- ApplyOutOfSyncOnly=true
|
- ApplyOutOfSyncOnly=true
|
||||||
|
|||||||
@@ -0,0 +1,40 @@
|
|||||||
|
{{- if .Values.clusterConfig.gatewayAPI.enabled }}
|
||||||
|
apiVersion: gateway.networking.k8s.io/v1
|
||||||
|
kind: HTTPRoute
|
||||||
|
metadata:
|
||||||
|
name: argocd-server
|
||||||
|
namespace: argocd
|
||||||
|
spec:
|
||||||
|
parentRefs:
|
||||||
|
- name: shared-gateway
|
||||||
|
namespace: kube-system
|
||||||
|
sectionName: https-internal
|
||||||
|
hostnames:
|
||||||
|
- argocd.{{ .Values.clusterConfig.domain }}
|
||||||
|
rules:
|
||||||
|
- matches:
|
||||||
|
- path:
|
||||||
|
type: PathPrefix
|
||||||
|
value: "/"
|
||||||
|
backendRefs:
|
||||||
|
- name: argocd-server
|
||||||
|
port: 80
|
||||||
|
---
|
||||||
|
apiVersion: cilium.io/v2
|
||||||
|
kind: CiliumNetworkPolicy
|
||||||
|
metadata:
|
||||||
|
name: allow-gateway-to-argocd
|
||||||
|
namespace: argocd
|
||||||
|
spec:
|
||||||
|
endpointSelector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/name: argocd-server
|
||||||
|
ingress:
|
||||||
|
- fromCIDRSet:
|
||||||
|
{{- range .Values.clusterConfig.ingress_whitelist }}
|
||||||
|
- cidr: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
- fromEndpoints:
|
||||||
|
- matchLabels:
|
||||||
|
"k8s:io.kubernetes.pod.namespace": argocd
|
||||||
|
{{- end }}
|
||||||
@@ -94,12 +94,6 @@ spec:
|
|||||||
server: https://kubernetes.default.svc
|
server: https://kubernetes.default.svc
|
||||||
- namespace: jobset-system
|
- namespace: jobset-system
|
||||||
server: https://kubernetes.default.svc
|
server: https://kubernetes.default.svc
|
||||||
- namespace: dex
|
|
||||||
server: https://kubernetes.default.svc
|
|
||||||
- namespace: cra-agent
|
|
||||||
server: https://kubernetes.default.svc
|
|
||||||
- namespace: catalyst
|
|
||||||
server: https://kubernetes.default.svc
|
|
||||||
sourceRepos:
|
sourceRepos:
|
||||||
- https://argoproj.github.io/argo-helm
|
- https://argoproj.github.io/argo-helm
|
||||||
- https://kubernetes-sigs.github.io/metrics-server/
|
- https://kubernetes-sigs.github.io/metrics-server/
|
||||||
@@ -143,8 +137,6 @@ spec:
|
|||||||
- ghcr.io/dragonflydb/dragonfly-operator/helm/dragonfly-operator
|
- ghcr.io/dragonflydb/dragonfly-operator/helm/dragonfly-operator
|
||||||
- docker.gitea.com
|
- docker.gitea.com
|
||||||
- https://operator.mariadb.com/mariadb-enterprise-operator
|
- https://operator.mariadb.com/mariadb-enterprise-operator
|
||||||
- https://ot-container-kit.github.io/helm-charts
|
|
||||||
- https://operator.mariadb.com
|
- https://operator.mariadb.com
|
||||||
|
- https://ot-container-kit.github.io/helm-charts
|
||||||
- https://twin.github.io/helm-charts
|
- https://twin.github.io/helm-charts
|
||||||
- https://charts.dexidp.io
|
|
||||||
- public.ecr.aws/diagrid/catalyst
|
|
||||||
|
|||||||
@@ -4,13 +4,16 @@ global:
|
|||||||
## Ref: https://github.com/argoproj/argo-cd
|
## Ref: https://github.com/argoproj/argo-cd
|
||||||
##
|
##
|
||||||
configs:
|
configs:
|
||||||
{{- if .Values.argocd.anyNamespaces.enabled }}
|
|
||||||
params:
|
params:
|
||||||
|
{{- if .Values.clusterConfig.gatewayAPI.enabled }}
|
||||||
|
server.insecure: "true"
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.argocd.anyNamespaces.enabled }}
|
||||||
applicationsetcontroller.namespaces: "{{ .Values.argocd.anyNamespaces.glob }}"
|
applicationsetcontroller.namespaces: "{{ .Values.argocd.anyNamespaces.glob }}"
|
||||||
# TODO(kai): anyapp will disable PR review apps. Look into anyapp settings to fix it
|
# TODO(kai): anyapp will disable PR review apps. Look into anyapp settings to fix it
|
||||||
applicationsetcontroller.enable.scm.providers: "false"
|
applicationsetcontroller.enable.scm.providers: "false"
|
||||||
application.namespaces: "{{ .Values.argocd.anyNamespaces.glob }}"
|
application.namespaces: "{{ .Values.argocd.anyNamespaces.glob }}"
|
||||||
{{- end }}
|
{{- end }}
|
||||||
cm:
|
cm:
|
||||||
application.resourceTrackingMethod: annotation+label
|
application.resourceTrackingMethod: annotation+label
|
||||||
application.instanceLabelKey: app.kubernetes.io/instance
|
application.instanceLabelKey: app.kubernetes.io/instance
|
||||||
@@ -238,6 +241,9 @@ server:
|
|||||||
serviceMonitor:
|
serviceMonitor:
|
||||||
enabled: true
|
enabled: true
|
||||||
ingress:
|
ingress:
|
||||||
|
{{- if .Values.clusterConfig.gatewayAPI.enabled }}
|
||||||
|
enabled: false
|
||||||
|
{{- else }}
|
||||||
enabled: true
|
enabled: true
|
||||||
ingressClassName: nginx
|
ingressClassName: nginx
|
||||||
annotations:
|
annotations:
|
||||||
@@ -254,6 +260,7 @@ server:
|
|||||||
- secretName: argocd-tls
|
- secretName: argocd-tls
|
||||||
hosts:
|
hosts:
|
||||||
- "argocd.{{ .Values.clusterConfig.domain }}"
|
- "argocd.{{ .Values.clusterConfig.domain }}"
|
||||||
|
{{- end }}
|
||||||
applicationSet:
|
applicationSet:
|
||||||
metrics:
|
metrics:
|
||||||
enabled: true
|
enabled: true
|
||||||
|
|||||||
@@ -1,9 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: ConfigMap
|
|
||||||
metadata:
|
|
||||||
name: beta-atlantis-actor-config
|
|
||||||
data:
|
|
||||||
XTRACT_IMAGE: "git.oceanbox.io/oceanbox/katamari/excavator:v1.2.6"
|
|
||||||
XTRACT_QUEUE: "prod-queue"
|
|
||||||
PLUME_IMAGE: "git.oceanbox.io/oceanbox/katamari/plume:v1.2.7"
|
|
||||||
PLUME_QUEUE: "prod-queue"
|
|
||||||
@@ -7,9 +7,4 @@
|
|||||||
path: /spec/template/spec/containers/0/envFrom/-
|
path: /spec/template/spec/containers/0/envFrom/-
|
||||||
value:
|
value:
|
||||||
secretRef:
|
secretRef:
|
||||||
name: prod-atlantis-env
|
name: prod-atlantis-env
|
||||||
- op: add
|
|
||||||
path: /spec/template/spec/containers/0/envFrom/-
|
|
||||||
value:
|
|
||||||
configMapRef:
|
|
||||||
name: beta-atlantis-actor-config
|
|
||||||
@@ -14,7 +14,6 @@ patches:
|
|||||||
resources:
|
resources:
|
||||||
- ../base
|
- ../base
|
||||||
- rbac.yaml
|
- rbac.yaml
|
||||||
- actor-config.yaml
|
|
||||||
- tracing.yaml
|
- tracing.yaml
|
||||||
- bindings.yaml
|
- bindings.yaml
|
||||||
- pubsub.yaml
|
- pubsub.yaml
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ rules:
|
|||||||
- ""
|
- ""
|
||||||
resourceNames:
|
resourceNames:
|
||||||
- beta-atlantis-appsettings
|
- beta-atlantis-appsettings
|
||||||
- beta-atlantis-actor-config
|
|
||||||
resources:
|
resources:
|
||||||
- configmaps
|
- configmaps
|
||||||
verbs:
|
verbs:
|
||||||
|
|||||||
@@ -1,9 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: ConfigMap
|
|
||||||
metadata:
|
|
||||||
name: prod-atlantis-actor-config
|
|
||||||
data:
|
|
||||||
XTRACT_IMAGE: "git.oceanbox.io/oceanbox/katamari/excavator:v1.2.6"
|
|
||||||
XTRACT_QUEUE: "prod-queue"
|
|
||||||
PLUME_IMAGE: "git.oceanbox.io/oceanbox/katamari/plume:v1.2.7"
|
|
||||||
PLUME_QUEUE: "prod-queue"
|
|
||||||
@@ -7,9 +7,4 @@
|
|||||||
path: /spec/template/spec/containers/0/envFrom/-
|
path: /spec/template/spec/containers/0/envFrom/-
|
||||||
value:
|
value:
|
||||||
secretRef:
|
secretRef:
|
||||||
name: prod-atlantis-env
|
name: prod-atlantis-env
|
||||||
- op: add
|
|
||||||
path: /spec/template/spec/containers/0/envFrom/-
|
|
||||||
value:
|
|
||||||
configMapRef:
|
|
||||||
name: prod-atlantis-actor-config
|
|
||||||
@@ -13,7 +13,6 @@ patches:
|
|||||||
resources:
|
resources:
|
||||||
- ../base
|
- ../base
|
||||||
- secrets.yaml
|
- secrets.yaml
|
||||||
- actor-config.yaml
|
|
||||||
- rbac.yaml
|
- rbac.yaml
|
||||||
- tracing.yaml
|
- tracing.yaml
|
||||||
- bindings.yaml
|
- bindings.yaml
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ rules:
|
|||||||
- ""
|
- ""
|
||||||
resourceNames:
|
resourceNames:
|
||||||
- prod-atlantis-appsettings
|
- prod-atlantis-appsettings
|
||||||
- prod-atlantis-actor-config
|
|
||||||
resources:
|
resources:
|
||||||
- configmaps
|
- configmaps
|
||||||
verbs:
|
verbs:
|
||||||
|
|||||||
@@ -1,9 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: ConfigMap
|
|
||||||
metadata:
|
|
||||||
name: staging-atlantis-actor-config
|
|
||||||
data:
|
|
||||||
XTRACT_IMAGE: "git.oceanbox.io/oceanbox/katamari/excavator:v1.2.6"
|
|
||||||
XTRACT_QUEUE: "dev-queue"
|
|
||||||
PLUME_IMAGE: "git.oceanbox.io/oceanbox/katamari/plume:v1.2.7"
|
|
||||||
PLUME_QUEUE: "dev-queue"
|
|
||||||
@@ -7,9 +7,4 @@
|
|||||||
path: /spec/template/spec/containers/0/envFrom/-
|
path: /spec/template/spec/containers/0/envFrom/-
|
||||||
value:
|
value:
|
||||||
secretRef:
|
secretRef:
|
||||||
name: staging-atlantis-env
|
name: staging-atlantis-env
|
||||||
- op: add
|
|
||||||
path: /spec/template/spec/containers/0/envFrom/-
|
|
||||||
value:
|
|
||||||
configMapRef:
|
|
||||||
name: staging-atlantis-actor-config
|
|
||||||
@@ -14,7 +14,6 @@ resources:
|
|||||||
- ../base
|
- ../base
|
||||||
- rbac.yaml
|
- rbac.yaml
|
||||||
- secrets.yaml
|
- secrets.yaml
|
||||||
- actor-config.yaml
|
|
||||||
- tracing.yaml
|
- tracing.yaml
|
||||||
- bindings.yaml
|
- bindings.yaml
|
||||||
- pubsub.yaml
|
- pubsub.yaml
|
||||||
@@ -22,4 +21,4 @@ resources:
|
|||||||
- subscriptions.yaml
|
- subscriptions.yaml
|
||||||
- configurations.yaml
|
- configurations.yaml
|
||||||
- secretstore.yaml
|
- secretstore.yaml
|
||||||
- keyvault.yaml
|
- keyvault.yaml
|
||||||
@@ -8,7 +8,6 @@ rules:
|
|||||||
- ""
|
- ""
|
||||||
resourceNames:
|
resourceNames:
|
||||||
- staging-atlantis-appsettings
|
- staging-atlantis-appsettings
|
||||||
- staging-atlantis-actor-config
|
|
||||||
resources:
|
resources:
|
||||||
- configmaps
|
- configmaps
|
||||||
verbs:
|
verbs:
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
replicaCount: 1
|
replicaCount: 1
|
||||||
image:
|
image:
|
||||||
repository: git.oceanbox.io/oceanbox/poseidon/atlantis
|
repository: git.oceanbox.io/oceanbox/poseidon/atlantis
|
||||||
tag: 74ed3e11-debug
|
tag: 23006866-debug
|
||||||
podAnnotations:
|
podAnnotations:
|
||||||
dapr.io/app-id: "staging-atlantis"
|
dapr.io/app-id: "staging-atlantis"
|
||||||
env:
|
env:
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
catalyst:
|
|
||||||
enabled: false
|
|
||||||
autosync: false
|
|
||||||
@@ -1,42 +0,0 @@
|
|||||||
{{- if .Values.clusterConfig.argo.enabled }}
|
|
||||||
apiVersion: argoproj.io/v1alpha1
|
|
||||||
kind: Application
|
|
||||||
metadata:
|
|
||||||
name: catalyst
|
|
||||||
namespace: argocd
|
|
||||||
annotations:
|
|
||||||
argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true
|
|
||||||
finalizers:
|
|
||||||
- resources-finalizer.argocd.argoproj.io
|
|
||||||
spec:
|
|
||||||
destination:
|
|
||||||
namespace: cra-agent
|
|
||||||
server: https://kubernetes.default.svc
|
|
||||||
project: sys
|
|
||||||
sources:
|
|
||||||
- repoURL: {{ .Values.clusterConfig.manifests }}
|
|
||||||
targetRevision: HEAD
|
|
||||||
path: helmfile.d
|
|
||||||
plugin:
|
|
||||||
name: helmfile-cmp
|
|
||||||
env:
|
|
||||||
- name: CLUSTER_NAME
|
|
||||||
value: {{ .Values.clusterConfig.cluster }}
|
|
||||||
- name: HELMFILE_ENVIRONMENT
|
|
||||||
value: {{ .Values.catalyst.env }}
|
|
||||||
- name: HELMFILE_FILE_PATH
|
|
||||||
value: catalyst.yaml.gotmpl
|
|
||||||
syncPolicy:
|
|
||||||
managedNamespaceMetadata:
|
|
||||||
labels:
|
|
||||||
component: aux
|
|
||||||
syncOptions:
|
|
||||||
- CreateNamespace=true
|
|
||||||
- ApplyOutOfSyncOnly=true
|
|
||||||
# - ServerSideApply=true
|
|
||||||
{{- if .Values.catalyst.autosync }}
|
|
||||||
automated:
|
|
||||||
prune: true
|
|
||||||
# selfHeal: false
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
apiVersion: postgresql.cnpg.io/v1
|
|
||||||
kind: Cluster
|
|
||||||
metadata:
|
|
||||||
name: catalyst-db
|
|
||||||
namespace: cra-agent
|
|
||||||
spec:
|
|
||||||
instances: 1
|
|
||||||
imageName: ghcr.io/cloudnative-pg/postgresql:18
|
|
||||||
storage:
|
|
||||||
resizeInUseVolumes: true
|
|
||||||
size: 10Gi
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
{{- if .Values.clusterConfig.cilium.enabled }}
|
|
||||||
apiVersion: cilium.io/v2
|
|
||||||
kind: CiliumNetworkPolicy
|
|
||||||
metadata:
|
|
||||||
name: allow-api-umami
|
|
||||||
namespace: analytics
|
|
||||||
spec:
|
|
||||||
description: Allow umami api
|
|
||||||
egress:
|
|
||||||
- toFQDNs:
|
|
||||||
- matchPattern: binaries.prisma.sh
|
|
||||||
- matchPattern: checkpoint.prisma.io
|
|
||||||
endpointSelector:
|
|
||||||
matchLabels:
|
|
||||||
app.kubernetes.io/instance: umami
|
|
||||||
{{- end }}
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
agent:
|
|
||||||
config:
|
|
||||||
project:
|
|
||||||
default_managed_state_store_type: postgresql-shared-external
|
|
||||||
external_postgresql:
|
|
||||||
enabled: true
|
|
||||||
auth_type: connectionString
|
|
||||||
namespace: postgres
|
|
||||||
connection_string_host: catalyst-db.cr-agent.svc.cluster.local
|
|
||||||
connection_string_port: 5432
|
|
||||||
connection_string_username: postgres
|
|
||||||
connection_string_password: postgres
|
|
||||||
connection_string_database: catalyst
|
|
||||||
gateway:
|
|
||||||
tls:
|
|
||||||
enabled: true
|
|
||||||
join_token: "tset"
|
|
||||||
@@ -13,7 +13,7 @@ spec:
|
|||||||
annotations:
|
annotations:
|
||||||
load-balancer.hetzner.cloud/location: hel1
|
load-balancer.hetzner.cloud/location: hel1
|
||||||
load-balancer.hetzner.cloud/type: lb11
|
load-balancer.hetzner.cloud/type: lb11
|
||||||
load-balancer.hetzner.cloud/name: load-balancer-2
|
load-balancer.hetzner.cloud/name: load-balancer-1
|
||||||
load-balancer.hetzner.cloud/use-private-ip: "true"
|
load-balancer.hetzner.cloud/use-private-ip: "true"
|
||||||
load-balancer.hetzner.cloud/uses-proxyprotocol: "true"
|
load-balancer.hetzner.cloud/uses-proxyprotocol: "true"
|
||||||
load-balancer.hetzner.cloud/http-redirect-https: "false"
|
load-balancer.hetzner.cloud/http-redirect-https: "false"
|
||||||
@@ -42,6 +42,36 @@ spec:
|
|||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
shared-gateway-access: "true"
|
shared-gateway-access: "true"
|
||||||
|
- name: https-hel1
|
||||||
|
protocol: HTTPS
|
||||||
|
port: 443
|
||||||
|
hostname: "*.hel1.oceanbox.io"
|
||||||
|
tls:
|
||||||
|
certificateRefs:
|
||||||
|
- group: ''
|
||||||
|
kind: Secret
|
||||||
|
name: wildcard-hel1-oceanbox-io
|
||||||
|
allowedRoutes:
|
||||||
|
namespaces:
|
||||||
|
from: Selector
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
shared-gateway-access: "true"
|
||||||
|
- name: https-internal
|
||||||
|
protocol: HTTPS
|
||||||
|
port: 443
|
||||||
|
hostname: "*.adm.hel1.obx"
|
||||||
|
tls:
|
||||||
|
certificateRefs:
|
||||||
|
- group: ''
|
||||||
|
kind: Secret
|
||||||
|
name: wildcard-adm-hel1-obx
|
||||||
|
allowedRoutes:
|
||||||
|
namespaces:
|
||||||
|
from: Selector
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
shared-gateway-access: "true"
|
||||||
- name: ssh
|
- name: ssh
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
port: 22
|
port: 22
|
||||||
@@ -65,4 +95,28 @@ spec:
|
|||||||
issuerRef:
|
issuerRef:
|
||||||
name: letsencrypt-prod-dns01
|
name: letsencrypt-prod-dns01
|
||||||
kind: ClusterIssuer
|
kind: ClusterIssuer
|
||||||
|
---
|
||||||
|
apiVersion: cert-manager.io/v1
|
||||||
|
kind: Certificate
|
||||||
|
metadata:
|
||||||
|
name: wildcard-hel1-oceanbox-io
|
||||||
|
spec:
|
||||||
|
secretName: wildcard-hel1-oceanbox-io
|
||||||
|
dnsNames:
|
||||||
|
- "*.hel1.oceanbox.io"
|
||||||
|
issuerRef:
|
||||||
|
name: letsencrypt-prod-dns01
|
||||||
|
kind: ClusterIssuer
|
||||||
|
---
|
||||||
|
apiVersion: cert-manager.io/v1
|
||||||
|
kind: Certificate
|
||||||
|
metadata:
|
||||||
|
name: wildcard-adm-hel1-obx
|
||||||
|
spec:
|
||||||
|
secretName: wildcard-adm-hel1-obx
|
||||||
|
dnsNames:
|
||||||
|
- "*.adm.hel1.obx"
|
||||||
|
issuerRef:
|
||||||
|
name: ca-issuer
|
||||||
|
kind: ClusterIssuer
|
||||||
{{- end}}
|
{{- end}}
|
||||||
|
|||||||
@@ -1,11 +1,8 @@
|
|||||||
cilium:
|
cilium:
|
||||||
enabled: true
|
enabled: true
|
||||||
clustermesh:
|
# WireGuard cannot be used during migration -- Flannel nodes have no WireGuard
|
||||||
enabled: false
|
# keys so encrypted traffic is unreadable by them.
|
||||||
clusterId: 2
|
# TODO: re-enable after migration
|
||||||
# NodePort until L2LB is available (kubeproxyless)
|
|
||||||
apiserverServiceType: NodePort
|
|
||||||
# TODO: WireGuard blocks all traffic on ekman -- disable until root cause is found.
|
|
||||||
encryption:
|
encryption:
|
||||||
enabled: false
|
enabled: false
|
||||||
envoy:
|
envoy:
|
||||||
|
|||||||
@@ -1,8 +1,5 @@
|
|||||||
cilium:
|
cilium:
|
||||||
enabled: true
|
enabled: true
|
||||||
clustermesh:
|
|
||||||
enabled: false
|
|
||||||
clusterId: 1
|
|
||||||
nodePort:
|
nodePort:
|
||||||
enabled: true
|
enabled: true
|
||||||
l2announcement:
|
l2announcement:
|
||||||
|
|||||||
@@ -30,8 +30,4 @@ cilium:
|
|||||||
loadbalancerPool:
|
loadbalancerPool:
|
||||||
enabled: false
|
enabled: false
|
||||||
cidr: []
|
cidr: []
|
||||||
clustermesh:
|
|
||||||
enabled: false
|
|
||||||
clusterId: 0
|
|
||||||
apiserverServiceType: LoadBalancer
|
|
||||||
cluster: {{ requiredEnv "ARGOCD_ENV_CLUSTER_NAME" }}
|
cluster: {{ requiredEnv "ARGOCD_ENV_CLUSTER_NAME" }}
|
||||||
|
|||||||
@@ -1,16 +1,3 @@
|
|||||||
cluster:
|
|
||||||
name: {{ .Values.cilium.cluster }}
|
|
||||||
id: {{ .Values.cilium.clustermesh.clusterId }}
|
|
||||||
{{- if .Values.cilium.clustermesh.enabled }}
|
|
||||||
clustermesh:
|
|
||||||
useAPIServer: true
|
|
||||||
apiserver:
|
|
||||||
service:
|
|
||||||
type: {{ .Values.cilium.clustermesh.apiserverServiceType }}
|
|
||||||
tls:
|
|
||||||
auto:
|
|
||||||
method: helm
|
|
||||||
{{- end }}
|
|
||||||
authentication:
|
authentication:
|
||||||
mutual:
|
mutual:
|
||||||
spire:
|
spire:
|
||||||
@@ -103,7 +90,7 @@ operator:
|
|||||||
prometheus:
|
prometheus:
|
||||||
enabled: true
|
enabled: true
|
||||||
port: 12301
|
port: 12301
|
||||||
serviceMonitor:
|
serviceMointor:
|
||||||
enabled: true
|
enabled: true
|
||||||
port: 12302
|
port: 12302
|
||||||
rollOutPods: true
|
rollOutPods: true
|
||||||
|
|||||||
@@ -38,4 +38,4 @@ volumeMounts:
|
|||||||
readOnly: true
|
readOnly: true
|
||||||
subPath: appsettings.json
|
subPath: appsettings.json
|
||||||
image:
|
image:
|
||||||
tag: 74ed3e11-debug
|
tag: 38eeb4cc-debug
|
||||||
|
|||||||
@@ -28,6 +28,9 @@ spec:
|
|||||||
- name: HELMFILE_FILE_PATH
|
- name: HELMFILE_FILE_PATH
|
||||||
value: docs.yaml.gotmpl
|
value: docs.yaml.gotmpl
|
||||||
syncPolicy:
|
syncPolicy:
|
||||||
|
managedNamespaceMetadata:
|
||||||
|
labels:
|
||||||
|
shared-gateway-access: "true"
|
||||||
syncOptions:
|
syncOptions:
|
||||||
- CreateNamespace=true
|
- CreateNamespace=true
|
||||||
- ApplyOutOfSyncOnly=true
|
- ApplyOutOfSyncOnly=true
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
{{- /* HTTPRoute and CiliumNetworkPolicy are managed by the docs chart template */ -}}
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
replicaCount: 1
|
replicaCount: 1
|
||||||
image:
|
image:
|
||||||
tag: "64b20667-debug"
|
tag: "e9fd3fc6-debug"
|
||||||
env:
|
env:
|
||||||
- name: APP_VERSION
|
- name: APP_VERSION
|
||||||
value: "0.0.0"
|
value: "0.0.0"
|
||||||
|
|||||||
@@ -0,0 +1,46 @@
|
|||||||
|
replicaCount: 1
|
||||||
|
image:
|
||||||
|
tag: "e9fd3fc6-debug"
|
||||||
|
env:
|
||||||
|
- name: APP_VERSION
|
||||||
|
value: "0.0.0"
|
||||||
|
- name: LOG_LEVEL
|
||||||
|
value: "1"
|
||||||
|
{{- if .Values.clusterConfig.gatewayAPI.enabled }}
|
||||||
|
ingress:
|
||||||
|
enabled: false
|
||||||
|
className: "nginx"
|
||||||
|
httpRoute:
|
||||||
|
enabled: true
|
||||||
|
parentRefs:
|
||||||
|
- name: shared-gateway
|
||||||
|
namespace: kube-system
|
||||||
|
sectionName: https
|
||||||
|
hostnames:
|
||||||
|
- docs.oceanbox.io
|
||||||
|
rules:
|
||||||
|
- matches:
|
||||||
|
- path:
|
||||||
|
type: PathPrefix
|
||||||
|
value: "/"
|
||||||
|
{{- else }}
|
||||||
|
ingress:
|
||||||
|
enabled: true
|
||||||
|
className: "nginx"
|
||||||
|
annotations:
|
||||||
|
cert-manager.io/cluster-issuer: letsencrypt-production
|
||||||
|
nginx.ingress.kubernetes.io/backend-protocol: HTTP
|
||||||
|
nginx.ingress.kubernetes.io/enable-cors: "true"
|
||||||
|
nginx.ingress.kubernetes.io/proxy-buffer-size: 128k
|
||||||
|
nginx.ingress.kubernetes.io/ssl-redirect: "true"
|
||||||
|
oceanbox.io/expose: internal
|
||||||
|
hosts:
|
||||||
|
- host: docs.oceanbox.io
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: ImplementationSpecific
|
||||||
|
tls:
|
||||||
|
- hosts:
|
||||||
|
- docs.oceanbox.io
|
||||||
|
secretName: docs-tls
|
||||||
|
{{- end }}
|
||||||
@@ -1,32 +1,38 @@
|
|||||||
apiVersion: networking.k8s.io/v1
|
apiVersion: gateway.networking.k8s.io/v1
|
||||||
kind: Ingress
|
kind: HTTPRoute
|
||||||
metadata:
|
metadata:
|
||||||
annotations:
|
|
||||||
cert-manager.io/cluster-issuer: letsencrypt-production
|
|
||||||
nginx.ingress.kubernetes.io/backend-protocol: HTTP
|
|
||||||
nginx.ingress.kubernetes.io/proxy-body-size: "0"
|
|
||||||
nginx.ingress.kubernetes.io/proxy-read-timeout: "600"
|
|
||||||
nginx.ingress.kubernetes.io/proxy-send-timeout: "600"
|
|
||||||
nginx.ingress.kubernetes.io/ssl-redirect: "true"
|
|
||||||
nginx.ingress.kubernetes.io/whitelist-source-range: 10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,172.19.255.0/24,100.64.0.0/12
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/component: drupal
|
|
||||||
name: drupal
|
name: drupal
|
||||||
namespace: fornix
|
namespace: fornix
|
||||||
spec:
|
spec:
|
||||||
ingressClassName: nginx
|
parentRefs:
|
||||||
|
- name: shared-gateway
|
||||||
|
namespace: kube-system
|
||||||
|
sectionName: https-hel1
|
||||||
|
hostnames:
|
||||||
|
- drupal.hel1.oceanbox.io
|
||||||
rules:
|
rules:
|
||||||
- host: drupal.hel1.oceanbox.io
|
- matches:
|
||||||
http:
|
- path:
|
||||||
paths:
|
type: PathPrefix
|
||||||
- backend:
|
value: "/"
|
||||||
service:
|
backendRefs:
|
||||||
name: drupal
|
- name: drupal
|
||||||
port:
|
port: 80
|
||||||
number: 80
|
---
|
||||||
path: /
|
apiVersion: cilium.io/v2
|
||||||
pathType: Prefix
|
kind: CiliumNetworkPolicy
|
||||||
tls:
|
metadata:
|
||||||
- hosts:
|
name: allow-gateway-to-drupal
|
||||||
- drupal.hel1.oceanbox.io
|
namespace: fornix
|
||||||
secretName: drupal-tls
|
spec:
|
||||||
|
endpointSelector:
|
||||||
|
matchLabels:
|
||||||
|
app: drupal
|
||||||
|
ingress:
|
||||||
|
- fromCIDRSet:
|
||||||
|
{{- range .Values.clusterConfig.ingress_whitelist }}
|
||||||
|
- cidr: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
- fromEndpoints:
|
||||||
|
- matchLabels:
|
||||||
|
"k8s:io.kubernetes.pod.namespace": fornix
|
||||||
|
|||||||
@@ -20,6 +20,8 @@ clusterConfig:
|
|||||||
patterns: []
|
patterns: []
|
||||||
cidr: []
|
cidr: []
|
||||||
nodes: []
|
nodes: []
|
||||||
|
gatewayAPI:
|
||||||
|
enabled: true
|
||||||
ingress_whitelist:
|
ingress_whitelist:
|
||||||
- 10.0.0.0/8
|
- 10.0.0.0/8
|
||||||
- 172.16.0.0/12
|
- 172.16.0.0/12
|
||||||
|
|||||||
@@ -20,6 +20,8 @@ clusterConfig:
|
|||||||
- 192.168.0.0/16
|
- 192.168.0.0/16
|
||||||
- 172.19.255.0/24
|
- 172.19.255.0/24
|
||||||
- 100.64.0.0/12 # tailnet
|
- 100.64.0.0/12 # tailnet
|
||||||
|
gatewayAPI:
|
||||||
|
enabled: false
|
||||||
ingress_hostnetwork: false
|
ingress_hostnetwork: false
|
||||||
ingress_hostport: false
|
ingress_hostport: false
|
||||||
ingress_nodeport: true
|
ingress_nodeport: true
|
||||||
|
|||||||
@@ -31,6 +31,9 @@ spec:
|
|||||||
targetRevision: main
|
targetRevision: main
|
||||||
ref: values
|
ref: values
|
||||||
syncPolicy:
|
syncPolicy:
|
||||||
|
managedNamespaceMetadata:
|
||||||
|
labels:
|
||||||
|
shared-gateway-access: "true"
|
||||||
syncOptions:
|
syncOptions:
|
||||||
- CreateNamespace=true
|
- CreateNamespace=true
|
||||||
- ApplyOutOfSyncOnly=true
|
- ApplyOutOfSyncOnly=true
|
||||||
|
|||||||
@@ -0,0 +1,38 @@
|
|||||||
|
apiVersion: gateway.networking.k8s.io/v1
|
||||||
|
kind: HTTPRoute
|
||||||
|
metadata:
|
||||||
|
name: fornix
|
||||||
|
namespace: fornix
|
||||||
|
spec:
|
||||||
|
parentRefs:
|
||||||
|
- name: shared-gateway
|
||||||
|
namespace: kube-system
|
||||||
|
sectionName: https-hel1
|
||||||
|
hostnames:
|
||||||
|
- fornix.hel1.oceanbox.io
|
||||||
|
rules:
|
||||||
|
- matches:
|
||||||
|
- path:
|
||||||
|
type: PathPrefix
|
||||||
|
value: "/"
|
||||||
|
backendRefs:
|
||||||
|
- name: fornix
|
||||||
|
port: 8085
|
||||||
|
---
|
||||||
|
apiVersion: cilium.io/v2
|
||||||
|
kind: CiliumNetworkPolicy
|
||||||
|
metadata:
|
||||||
|
name: allow-gateway-to-fornix
|
||||||
|
namespace: fornix
|
||||||
|
spec:
|
||||||
|
endpointSelector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/name: fornix
|
||||||
|
ingress:
|
||||||
|
- fromCIDRSet:
|
||||||
|
{{- range .Values.clusterConfig.ingress_whitelist }}
|
||||||
|
- cidr: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
- fromEndpoints:
|
||||||
|
- matchLabels:
|
||||||
|
"k8s:io.kubernetes.pod.namespace": fornix
|
||||||
@@ -3,7 +3,7 @@ drupalUrl: http://drupal
|
|||||||
|
|
||||||
replicaCount: 1
|
replicaCount: 1
|
||||||
ingress:
|
ingress:
|
||||||
enabled: true
|
enabled: false
|
||||||
className: "nginx"
|
className: "nginx"
|
||||||
annotations:
|
annotations:
|
||||||
cert-manager.io/cluster-issuer: letsencrypt-production
|
cert-manager.io/cluster-issuer: letsencrypt-production
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ spec:
|
|||||||
managedNamespaceMetadata:
|
managedNamespaceMetadata:
|
||||||
labels:
|
labels:
|
||||||
component: sys
|
component: sys
|
||||||
|
shared-gateway-access: "true"
|
||||||
syncOptions:
|
syncOptions:
|
||||||
- CreateNamespace=true
|
- CreateNamespace=true
|
||||||
- ApplyOutOfSyncOnly=true
|
- ApplyOutOfSyncOnly=true
|
||||||
|
|||||||
@@ -1,8 +1,48 @@
|
|||||||
|
{{- if .Values.clusterConfig.gatewayAPI.enabled }}
|
||||||
|
apiVersion: gateway.networking.k8s.io/v1
|
||||||
|
kind: HTTPRoute
|
||||||
|
metadata:
|
||||||
|
name: gatus
|
||||||
|
namespace: uptime
|
||||||
|
spec:
|
||||||
|
parentRefs:
|
||||||
|
- name: shared-gateway
|
||||||
|
namespace: kube-system
|
||||||
|
sectionName: https-internal
|
||||||
|
hostnames:
|
||||||
|
- uptime.{{ .Values.clusterConfig.domain }}
|
||||||
|
rules:
|
||||||
|
- matches:
|
||||||
|
- path:
|
||||||
|
type: PathPrefix
|
||||||
|
value: "/"
|
||||||
|
backendRefs:
|
||||||
|
- name: gatus
|
||||||
|
port: 80
|
||||||
|
---
|
||||||
|
apiVersion: cilium.io/v2
|
||||||
|
kind: CiliumNetworkPolicy
|
||||||
|
metadata:
|
||||||
|
name: allow-gateway-to-gatus
|
||||||
|
namespace: uptime
|
||||||
|
spec:
|
||||||
|
endpointSelector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/name: gatus
|
||||||
|
ingress:
|
||||||
|
- fromCIDRSet:
|
||||||
|
{{- range .Values.clusterConfig.ingress_whitelist }}
|
||||||
|
- cidr: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
- fromEndpoints:
|
||||||
|
- matchLabels:
|
||||||
|
"k8s:io.kubernetes.pod.namespace": uptime
|
||||||
|
{{- else }}
|
||||||
apiVersion: networking.k8s.io/v1
|
apiVersion: networking.k8s.io/v1
|
||||||
kind: Ingress
|
kind: Ingress
|
||||||
metadata:
|
metadata:
|
||||||
annotations:
|
annotations:
|
||||||
cert-manager.io/cluster-issuer: ca-issuer
|
cert-manager.io/cluster-issuer: {{ .Values.clusterConfig.ingress_clusterissuer }}
|
||||||
nginx.ingress.kubernetes.io/backend-protocol: HTTP
|
nginx.ingress.kubernetes.io/backend-protocol: HTTP
|
||||||
nginx.ingress.kubernetes.io/cors-allow-headers: Content-Type, x-gatus-cache
|
nginx.ingress.kubernetes.io/cors-allow-headers: Content-Type, x-gatus-cache
|
||||||
nginx.ingress.kubernetes.io/enable-cors: "true"
|
nginx.ingress.kubernetes.io/enable-cors: "true"
|
||||||
@@ -15,7 +55,7 @@ metadata:
|
|||||||
spec:
|
spec:
|
||||||
ingressClassName: nginx
|
ingressClassName: nginx
|
||||||
rules:
|
rules:
|
||||||
- host: uptime.adm.hel1.obx
|
- host: uptime.{{ .Values.clusterConfig.domain }}
|
||||||
http:
|
http:
|
||||||
paths:
|
paths:
|
||||||
- backend:
|
- backend:
|
||||||
@@ -27,5 +67,6 @@ spec:
|
|||||||
pathType: ImplementationSpecific
|
pathType: ImplementationSpecific
|
||||||
tls:
|
tls:
|
||||||
- hosts:
|
- hosts:
|
||||||
- uptime.adm.hel1.obx
|
- uptime.{{ .Values.clusterConfig.domain }}
|
||||||
secretName: gatus-tls
|
secretName: gatus-tls
|
||||||
|
{{- end }}
|
||||||
|
|||||||
@@ -139,3 +139,12 @@ config:
|
|||||||
environment: staging
|
environment: staging
|
||||||
alerts:
|
alerts:
|
||||||
- type: custom
|
- type: custom
|
||||||
|
|
||||||
|
- name: Plume Dev TOS
|
||||||
|
<<: *https-endpoint
|
||||||
|
group: "Experimental Services"
|
||||||
|
url: https://plume.ekman.oceanbox.io/healthz
|
||||||
|
extra-labels:
|
||||||
|
environment: staging
|
||||||
|
alerts:
|
||||||
|
- type: custom
|
||||||
|
|||||||
@@ -14,11 +14,36 @@ spec:
|
|||||||
- path:
|
- path:
|
||||||
type: PathPrefix
|
type: PathPrefix
|
||||||
value: "/"
|
value: "/"
|
||||||
|
timeouts:
|
||||||
|
request: 600s
|
||||||
|
backendRequest: 600s
|
||||||
backendRefs:
|
backendRefs:
|
||||||
- name: gitea-http
|
- name: gitea-http
|
||||||
port: 3000
|
port: 3000
|
||||||
|
|
||||||
---
|
---
|
||||||
|
apiVersion: cilium.io/v2
|
||||||
|
kind: CiliumNetworkPolicy
|
||||||
|
metadata:
|
||||||
|
name: allow-gateway-to-gitea
|
||||||
|
namespace: gitea
|
||||||
|
spec:
|
||||||
|
endpointSelector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/name: gitea
|
||||||
|
ingress:
|
||||||
|
- fromCIDRSet:
|
||||||
|
- cidr: 10.0.0.0/8
|
||||||
|
- cidr: 172.16.0.0/12
|
||||||
|
- cidr: 192.168.0.0/16
|
||||||
|
- cidr: 172.19.255.0/24
|
||||||
|
- cidr: 100.64.0.0/12
|
||||||
|
- cidr: 185.125.160.4/32
|
||||||
|
- cidr: 37.27.203.38/32
|
||||||
|
- fromEndpoints:
|
||||||
|
- matchLabels:
|
||||||
|
"k8s:io.kubernetes.pod.namespace": gitea
|
||||||
|
---
|
||||||
apiVersion: gateway.networking.k8s.io/v1alpha2
|
apiVersion: gateway.networking.k8s.io/v1alpha2
|
||||||
kind: TCPRoute
|
kind: TCPRoute
|
||||||
metadata:
|
metadata:
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ replicaCount: 1
|
|||||||
image:
|
image:
|
||||||
registry: "docker.gitea.com"
|
registry: "docker.gitea.com"
|
||||||
repository: gitea
|
repository: gitea
|
||||||
tag: "1.25.5"
|
tag: "1.25.4"
|
||||||
|
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
{{- /* Gateway API: disable ingress when cilium gateway is enabled (HTTPRoute is in manifests/gateway-routes.yaml) */ -}}
|
||||||
|
{{- if .Values.clusterConfig.gatewayAPI.enabled }}
|
||||||
|
ingress:
|
||||||
|
enabled: false
|
||||||
|
{{- else }}
|
||||||
|
ingress:
|
||||||
|
enabled: true
|
||||||
|
{{- end }}
|
||||||
@@ -255,7 +255,6 @@ configMaps:
|
|||||||
{ "action": "accept", "src": [ "faith.iha@oceanbox.io" ], "dst": [ "faith.iha@oceanbox.io:*" ] },
|
{ "action": "accept", "src": [ "faith.iha@oceanbox.io" ], "dst": [ "faith.iha@oceanbox.io:*" ] },
|
||||||
{ "action": "accept", "src": [ "elianne.ersdal@oceanbox.io" ], "dst": [ "elianne.ersdal@oceanbox.io:*" ] },
|
{ "action": "accept", "src": [ "elianne.ersdal@oceanbox.io" ], "dst": [ "elianne.ersdal@oceanbox.io:*" ] },
|
||||||
{ "action": "accept", "src": [ "hanskristian.djuve@oceanbox.io" ], "dst": [ "hanskristian.djuve@oceanbox.io:*" ] },
|
{ "action": "accept", "src": [ "hanskristian.djuve@oceanbox.io" ], "dst": [ "hanskristian.djuve@oceanbox.io:*" ] },
|
||||||
{ "action": "accept", "src": [ "erlend.mundal@oceanbox.io" ], "dst": [ "erlend.mundal@oceanbox.io:*" ] },
|
|
||||||
// s/"\([^"]*\)"/{ "action": "accept", "src": [ "\1" ], "dst": [ "\1:*" ] },
|
// s/"\([^"]*\)"/{ "action": "accept", "src": [ "\1" ], "dst": [ "\1:*" ] },
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -354,7 +353,7 @@ configMaps:
|
|||||||
{ "name": "mrtz-sorcerer.ekman.oceanbox.io", "type": "A", "value": "10.255.241.99" },
|
{ "name": "mrtz-sorcerer.ekman.oceanbox.io", "type": "A", "value": "10.255.241.99" },
|
||||||
{ "name": "mrtz-sorcerer.dev.vtn.obx", "type": "A", "value": "172.16.239.221" },
|
{ "name": "mrtz-sorcerer.dev.vtn.obx", "type": "A", "value": "172.16.239.221" },
|
||||||
{ "name": "mrtz-plume.ekman.oceanbox.io", "type": "A", "value": "10.255.241.99" },
|
{ "name": "mrtz-plume.ekman.oceanbox.io", "type": "A", "value": "10.255.241.99" },
|
||||||
{ "name": "mrtz-diadash.dev.oceanbox.io", "type": "A", "value": "10.255.241.11" },
|
{ "name": "mrtz-diadash.ekman.oceanbox.io", "type": "A", "value": "10.255.241.99" },
|
||||||
{ "name": "simkir-atlantis.dev.oceanbox.io", "type": "A", "value": "10.255.241.11" },
|
{ "name": "simkir-atlantis.dev.oceanbox.io", "type": "A", "value": "10.255.241.11" },
|
||||||
{ "name": "simkir-maps.dev.oceanbox.io", "type": "A", "value": "10.255.241.11" },
|
{ "name": "simkir-maps.dev.oceanbox.io", "type": "A", "value": "10.255.241.11" },
|
||||||
{ "name": "simkir-codex.dev.oceanbox.io", "type": "A", "value": "10.255.241.11" },
|
{ "name": "simkir-codex.dev.oceanbox.io", "type": "A", "value": "10.255.241.11" },
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ spec:
|
|||||||
- group: ""
|
- group: ""
|
||||||
kind: Secret
|
kind: Secret
|
||||||
name: jobset-webhook-server-cert
|
name: jobset-webhook-server-cert
|
||||||
namespace: jobset-system
|
namespace: default
|
||||||
jsonPointers:
|
jsonPointers:
|
||||||
- /data
|
- /data
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ kubectl cp -n keycloak oceanbox-realm.json prod-keycloak-0:/tmp/backup/oceanbox-
|
|||||||
kubectl cp -n keycloak oceanbox-users-0.json prod-keycloak-0:/tmp/backup/oceanbox-users-0.json
|
kubectl cp -n keycloak oceanbox-users-0.json prod-keycloak-0:/tmp/backup/oceanbox-users-0.json
|
||||||
kc.sh -Djgroups.bind.port=7801 import --dir /tmp/backup
|
kc.sh -Djgroups.bind.port=7801 import --dir /tmp/backup
|
||||||
```
|
```
|
||||||
|
|
||||||
## Theme
|
## Theme
|
||||||
|
|
||||||
The keycloak theme is maintained at [git.oceanbox.io/platform/keycloak-theme](https://git.oceanbox.io/platform/keycloak-theme) and is deployed via an init container using the `git.oceanbox.io/platform/keycloak-theme` image.
|
Our keycloak theme is inserted using the image provided [here](https://gitlab.com/oceanbox/keycloak-theme)
|
||||||
|
|||||||
@@ -33,8 +33,10 @@ spec:
|
|||||||
syncOptions:
|
syncOptions:
|
||||||
- CreateNamespace=true
|
- CreateNamespace=true
|
||||||
- ApplyOutOfSyncOnly=true
|
- ApplyOutOfSyncOnly=true
|
||||||
|
# - ServerSideApply=true
|
||||||
{{- if .Values.keycloak.autosync }}
|
{{- if .Values.keycloak.autosync }}
|
||||||
automated:
|
automated:
|
||||||
prune: true
|
prune: true
|
||||||
|
# selfHeal: false
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|||||||
@@ -1,14 +1,26 @@
|
|||||||
replicaCount: 2
|
replicaCount: 2
|
||||||
|
|
||||||
|
# NOTE(mrtz): Hack for working with bitnami legacy registry
|
||||||
|
global:
|
||||||
|
security:
|
||||||
|
allowInsecureImages: true
|
||||||
|
image:
|
||||||
|
repository: bitnamilegacy/keycloak
|
||||||
|
|
||||||
|
production: true
|
||||||
|
|
||||||
|
proxy: edge
|
||||||
|
|
||||||
auth:
|
auth:
|
||||||
adminPassword: en to tre fire
|
adminPassword: en to tre fire
|
||||||
|
adminUser: admin
|
||||||
existingSecret: ""
|
existingSecret: ""
|
||||||
managementPassword: ""
|
managementPassword: ""
|
||||||
|
managementUser: manager
|
||||||
|
|
||||||
postgresql:
|
postgresql:
|
||||||
enabled: false
|
enabled: false
|
||||||
|
|
||||||
resourcesPreset: "none"
|
|
||||||
resources:
|
resources:
|
||||||
limits:
|
limits:
|
||||||
cpu: 750m
|
cpu: 750m
|
||||||
@@ -36,7 +48,37 @@ extraVolumes:
|
|||||||
name: theme
|
name: theme
|
||||||
|
|
||||||
ingress:
|
ingress:
|
||||||
|
annotations:
|
||||||
|
cert-manager.io/cluster-issuer: letsencrypt-production
|
||||||
|
nginx.ingress.kubernetes.io/enable-cors: "true"
|
||||||
|
nginx.ingress.kubernetes.io/backend-protocol: HTTP
|
||||||
|
nginx.ingress.kubernetes.io/proxy-buffer-size: 128k
|
||||||
|
nginx.ingress.kubernetes.io/ssl-redirect: "true"
|
||||||
|
enabled: true
|
||||||
hostname: auth.oceanbox.io
|
hostname: auth.oceanbox.io
|
||||||
|
ingressClassName: nginx
|
||||||
|
path: /
|
||||||
|
pathType: ImplementationSpecific
|
||||||
|
selfSigned: false
|
||||||
|
servicePort: http
|
||||||
|
tls: true
|
||||||
|
|
||||||
|
adminIngress:
|
||||||
|
enabled: false
|
||||||
|
annotations:
|
||||||
|
cert-manager.io/cluster-issuer: letsencrypt-production
|
||||||
|
nginx.ingress.kubernetes.io/enable-cors: "true"
|
||||||
|
nginx.ingress.kubernetes.io/backend-protocol: HTTP
|
||||||
|
nginx.ingress.kubernetes.io/proxy-buffer-size: 128k
|
||||||
|
nginx.ingress.kubernetes.io/ssl-redirect: "true"
|
||||||
|
oceanbox.io/expose: internal
|
||||||
|
hostname: keycloak.adm.oceanbox.io
|
||||||
|
ingressClassName: nginx
|
||||||
|
path: /
|
||||||
|
pathType: ImplementationSpecific
|
||||||
|
selfSigned: false
|
||||||
|
servicePort: http
|
||||||
|
tls: true
|
||||||
|
|
||||||
keycloakConfigCli:
|
keycloakConfigCli:
|
||||||
enabled: false
|
enabled: false
|
||||||
@@ -51,8 +93,8 @@ keycloakConfigCli:
|
|||||||
|
|
||||||
initContainers: |
|
initContainers: |
|
||||||
- name: keycloak-theme-provider
|
- name: keycloak-theme-provider
|
||||||
image: git.oceanbox.io/platform/keycloak-theme:latest
|
image: docker.io/juselius/oceanbox-theme:1.2
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: Always
|
||||||
command:
|
command:
|
||||||
- sh
|
- sh
|
||||||
args:
|
args:
|
||||||
|
|||||||
@@ -1,7 +1,22 @@
|
|||||||
replicaCount: 1
|
replicaCount: 1
|
||||||
|
|
||||||
|
# NOTE(mrtz): Hack for working with bitnami legacy registry
|
||||||
|
global:
|
||||||
|
security:
|
||||||
|
allowInsecureImages: true
|
||||||
|
image:
|
||||||
|
repository: bitnamilegacy/keycloak
|
||||||
|
|
||||||
|
production: true
|
||||||
|
|
||||||
|
proxy: edge
|
||||||
|
|
||||||
auth:
|
auth:
|
||||||
adminPassword: en to tre fire
|
adminPassword: en to tre fire
|
||||||
|
adminUser: admin
|
||||||
|
existingSecret: ""
|
||||||
|
managementPassword: ""
|
||||||
|
managementUser: manager
|
||||||
|
|
||||||
postgresql:
|
postgresql:
|
||||||
enabled: true
|
enabled: true
|
||||||
@@ -9,5 +24,58 @@ postgresql:
|
|||||||
postgresPassword: "avatar mustiness economic"
|
postgresPassword: "avatar mustiness economic"
|
||||||
password: "punctured abstain facility"
|
password: "punctured abstain facility"
|
||||||
|
|
||||||
|
extraVolumeMounts:
|
||||||
|
- mountPath: /opt/bitnami/keycloak/themes/oceanbox
|
||||||
|
name: theme
|
||||||
|
|
||||||
|
extraVolumes:
|
||||||
|
- emptyDir: {}
|
||||||
|
name: theme
|
||||||
|
|
||||||
ingress:
|
ingress:
|
||||||
|
annotations:
|
||||||
|
cert-manager.io/cluster-issuer: letsencrypt-production
|
||||||
|
nginx.ingress.kubernetes.io/enable-cors: "true"
|
||||||
|
nginx.ingress.kubernetes.io/backend-protocol: HTTP
|
||||||
|
nginx.ingress.kubernetes.io/proxy-buffer-size: 128k
|
||||||
|
nginx.ingress.kubernetes.io/ssl-redirect: "true"
|
||||||
|
enabled: true
|
||||||
hostname: auth.srv.oceanbox.io
|
hostname: auth.srv.oceanbox.io
|
||||||
|
ingressClassName: nginx
|
||||||
|
path: /
|
||||||
|
pathType: ImplementationSpecific
|
||||||
|
selfSigned: false
|
||||||
|
servicePort: http
|
||||||
|
tls: true
|
||||||
|
|
||||||
|
adminIngress:
|
||||||
|
enabled: false
|
||||||
|
annotations:
|
||||||
|
cert-manager.io/cluster-issuer: letsencrypt-production
|
||||||
|
nginx.ingress.kubernetes.io/enable-cors: "true"
|
||||||
|
nginx.ingress.kubernetes.io/backend-protocol: HTTP
|
||||||
|
nginx.ingress.kubernetes.io/proxy-buffer-size: 128k
|
||||||
|
nginx.ingress.kubernetes.io/ssl-redirect: "true"
|
||||||
|
oceanbox.io/expose: internal
|
||||||
|
hostname: auth.adm.oceanbox.io
|
||||||
|
ingressClassName: nginx
|
||||||
|
path: /
|
||||||
|
pathType: ImplementationSpecific
|
||||||
|
selfSigned: false
|
||||||
|
servicePort: http
|
||||||
|
tls: true
|
||||||
|
|
||||||
|
initContainers: |
|
||||||
|
- name: keycloak-theme-provider
|
||||||
|
image: docker.io/juselius/oceanbox-theme:1.2
|
||||||
|
imagePullPolicy: Always
|
||||||
|
command:
|
||||||
|
- sh
|
||||||
|
args:
|
||||||
|
- -c
|
||||||
|
- |
|
||||||
|
echo "Copying theme..."
|
||||||
|
cp -R /theme/* /keycloak/themes/oceanbox
|
||||||
|
volumeMounts:
|
||||||
|
- name: theme
|
||||||
|
mountPath: /keycloak/themes/oceanbox
|
||||||
|
|||||||
@@ -1,29 +0,0 @@
|
|||||||
# NOTE(mrtz): Hack for working with bitnami legacy registry
|
|
||||||
global:
|
|
||||||
security:
|
|
||||||
allowInsecureImages: true
|
|
||||||
image:
|
|
||||||
repository: bitnamilegacy/keycloak
|
|
||||||
|
|
||||||
production: true
|
|
||||||
|
|
||||||
proxyHeaders: xforwarded
|
|
||||||
|
|
||||||
auth:
|
|
||||||
adminUser: admin
|
|
||||||
managementUser: manager
|
|
||||||
|
|
||||||
ingress:
|
|
||||||
annotations:
|
|
||||||
cert-manager.io/cluster-issuer: letsencrypt-production
|
|
||||||
nginx.ingress.kubernetes.io/enable-cors: "true"
|
|
||||||
nginx.ingress.kubernetes.io/backend-protocol: HTTP
|
|
||||||
nginx.ingress.kubernetes.io/proxy-buffer-size: 128k
|
|
||||||
nginx.ingress.kubernetes.io/ssl-redirect: "true"
|
|
||||||
enabled: true
|
|
||||||
ingressClassName: nginx
|
|
||||||
path: /
|
|
||||||
pathType: ImplementationSpecific
|
|
||||||
selfSigned: false
|
|
||||||
servicePort: http
|
|
||||||
tls: true
|
|
||||||
@@ -1,3 +1,3 @@
|
|||||||
catalyst:
|
kueue:
|
||||||
enabled: true
|
enabled: true
|
||||||
autosync: false
|
autosync: false
|
||||||
@@ -1,85 +1,51 @@
|
|||||||
apiVersion: kueue.x-k8s.io/v1beta2
|
apiVersion: kueue.x-k8s.io/v1beta1
|
||||||
kind: ResourceFlavor
|
kind: ResourceFlavor
|
||||||
metadata:
|
metadata:
|
||||||
name: compute # Just needs to exist, can be managed with tains/tolerations
|
name: compute # Just needs to exist, can be managed with tains/tolerations
|
||||||
annotations:
|
|
||||||
argocd.argoproj.io/sync-wave: "2"
|
|
||||||
spec:
|
|
||||||
nodeLabels:
|
|
||||||
node-role.kubernetes.io/compute: compute
|
|
||||||
topology.kubernetes.io/group: c1 # Only run on C1 for now
|
|
||||||
---
|
---
|
||||||
apiVersion: kueue.x-k8s.io/v1beta2
|
apiVersion: kueue.x-k8s.io/v1beta1
|
||||||
kind: ClusterQueue
|
kind: ClusterQueue
|
||||||
metadata:
|
metadata:
|
||||||
name: cluster-queue
|
name: jobs
|
||||||
annotations:
|
|
||||||
argocd.argoproj.io/sync-wave: "2"
|
|
||||||
spec:
|
spec:
|
||||||
|
cohort: general
|
||||||
namespaceSelector: {} # Accept workloads from any namespace
|
namespaceSelector: {} # Accept workloads from any namespace
|
||||||
queueingStrategy: BestEffortFIFO
|
preemption:
|
||||||
# preemption:
|
withinClusterQueue: "LowerPriority" # Allow higher priority to preempt lower
|
||||||
# withinClusterQueue: "LowerPriority" # Allow higher priority to preempt lower
|
|
||||||
resourceGroups:
|
resourceGroups:
|
||||||
- coveredResources: ["cpu", "memory"] # Cover both memory and cpu resources
|
- coveredResources: ["cpu", "memory"] # Cover both memory and cpu resources
|
||||||
flavors:
|
flavors:
|
||||||
- name: compute
|
- name: compute
|
||||||
resources:
|
resources:
|
||||||
- name: "cpu"
|
- name: "cpu"
|
||||||
nominalQuota: '32'
|
nominalQuota: '4'
|
||||||
- name: "memory"
|
- name: "memory"
|
||||||
nominalQuota: 64Gi
|
nominalQuota: 8Gi
|
||||||
# ---
|
|
||||||
# apiVersion: kueue.x-k8s.io/v1beta2
|
|
||||||
# kind: LocalQueue
|
|
||||||
# metadata:
|
|
||||||
# name: prod-queue
|
|
||||||
# namespace: prod-queue
|
|
||||||
# spec:
|
|
||||||
# clusterQueue: cluster-queue
|
|
||||||
---
|
---
|
||||||
apiVersion: v1
|
apiVersion: kueue.x-k8s.io/v1beta1
|
||||||
kind: Namespace
|
|
||||||
metadata:
|
|
||||||
name: dev-queue
|
|
||||||
annotations:
|
|
||||||
argocd.argoproj.io/sync-wave: "2"
|
|
||||||
---
|
|
||||||
apiVersion: kueue.x-k8s.io/v1beta2
|
|
||||||
kind: LocalQueue
|
|
||||||
metadata:
|
|
||||||
name: dev-queue
|
|
||||||
namespace: dev-queue
|
|
||||||
annotations:
|
|
||||||
argocd.argoproj.io/sync-wave: "2"
|
|
||||||
spec:
|
|
||||||
clusterQueue: cluster-queue
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Namespace
|
|
||||||
metadata:
|
|
||||||
name: prod-queue
|
|
||||||
annotations:
|
|
||||||
argocd.argoproj.io/sync-wave: "2"
|
|
||||||
---
|
|
||||||
apiVersion: kueue.x-k8s.io/v1beta2
|
|
||||||
kind: LocalQueue
|
kind: LocalQueue
|
||||||
metadata:
|
metadata:
|
||||||
name: prod-queue
|
name: prod-queue
|
||||||
namespace: prod-queue
|
namespace: prod-sorcerer
|
||||||
annotations:
|
|
||||||
argocd.argoproj.io/sync-wave: "2"
|
|
||||||
spec:
|
spec:
|
||||||
clusterQueue: cluster-queue
|
clusterQueue: jobs
|
||||||
# ---
|
---
|
||||||
# apiVersion: kueue.x-k8s.io/v1beta2
|
apiVersion: kueue.x-k8s.io/v1beta1
|
||||||
# kind: WorkloadPriorityClass
|
kind: LocalQueue
|
||||||
# metadata:
|
metadata:
|
||||||
# name: "normal"
|
name: staging-queue
|
||||||
# value: 100
|
namespace: staging-sorcerer
|
||||||
# ---
|
spec:
|
||||||
# apiVersion: kueue.x-k8s.io/v1beta2
|
clusterQueue: jobs
|
||||||
# kind: WorkloadPriorityClass
|
---
|
||||||
# metadata:
|
apiVersion: kueue.x-k8s.io/v1beta1
|
||||||
# name: "high"
|
kind: WorkloadPriorityClass
|
||||||
# value: 200 # Higher value = higher priority
|
metadata:
|
||||||
|
name: "normal"
|
||||||
|
value: 100
|
||||||
|
---
|
||||||
|
apiVersion: kueue.x-k8s.io/v1beta1
|
||||||
|
kind: WorkloadPriorityClass
|
||||||
|
metadata:
|
||||||
|
name: "high"
|
||||||
|
value: 200 # Higher value = higher priority
|
||||||
|
|||||||
@@ -0,0 +1,89 @@
|
|||||||
|
{{- if eq .Values.clusterConfig.cluster "ekman"}}
|
||||||
|
apiVersion: networking.k8s.io/v1
|
||||||
|
kind: Ingress
|
||||||
|
metadata:
|
||||||
|
name: kueueviz-ingress
|
||||||
|
namespace: kueue-system
|
||||||
|
annotations:
|
||||||
|
cert-manager.io/cluster-issuer: ca-issuer
|
||||||
|
nginx.ingress.kubernetes.io/backend-protocol: HTTP
|
||||||
|
nginx.ingress.kubernetes.io/proxy-buffer-size: 128k
|
||||||
|
nginx.ingress.kubernetes.io/proxy-read-timeout: "3600"
|
||||||
|
nginx.ingress.kubernetes.io/proxy-send-timeout: "3600"
|
||||||
|
nginx.ingress.kubernetes.io/ssl-passthrough: "true"
|
||||||
|
nginx.ingress.kubernetes.io/ssl-redirect: "true"
|
||||||
|
nginx.ingress.kubernetes.io/websocket-services: kueue-kueueviz-backend
|
||||||
|
spec:
|
||||||
|
rules:
|
||||||
|
- host: kueue.dev.tos.obx
|
||||||
|
http:
|
||||||
|
paths:
|
||||||
|
- path: /ws
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: kueue-kueueviz-backend
|
||||||
|
port:
|
||||||
|
number: 8080
|
||||||
|
- path: /api(/|$)(.*)
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: kueue-kueueviz-backend
|
||||||
|
port:
|
||||||
|
number: 8080
|
||||||
|
- path: /
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: kueue-kueueviz-frontend
|
||||||
|
port:
|
||||||
|
number: 8080
|
||||||
|
tls:
|
||||||
|
- hosts:
|
||||||
|
- kueue.dev.tos.obx
|
||||||
|
secretName: kueueviz-tls
|
||||||
|
{{- end}}
|
||||||
|
---
|
||||||
|
{{- if eq .Values.clusterConfig.cluster "rossby"}}
|
||||||
|
apiVersion: networking.k8s.io/v1
|
||||||
|
kind: Ingress
|
||||||
|
metadata:
|
||||||
|
name: kueueviz-ingress
|
||||||
|
namespace: kueue-system
|
||||||
|
annotations:
|
||||||
|
cert-manager.io/cluster-issuer: ca-issuer
|
||||||
|
nginx.ingress.kubernetes.io/websocket-services: kueue-kueueviz-backend
|
||||||
|
nginx.ingress.kubernetes.io/proxy-read-timeout: "3600"
|
||||||
|
nginx.ingress.kubernetes.io/proxy-send-timeout: "3600"
|
||||||
|
spec:
|
||||||
|
rules:
|
||||||
|
- host: kueue.dev.vtn.obx
|
||||||
|
http:
|
||||||
|
paths:
|
||||||
|
- path: /ws
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: kueue-kueueviz-backend
|
||||||
|
port:
|
||||||
|
number: 8080
|
||||||
|
- path: /api(/|$)(.*)
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: kueue-kueueviz-backend
|
||||||
|
port:
|
||||||
|
number: 8080
|
||||||
|
- path: /
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: kueue-kueueviz-frontend
|
||||||
|
port:
|
||||||
|
number: 8080
|
||||||
|
tls:
|
||||||
|
- hosts:
|
||||||
|
- kueue.dev.vtn.obx
|
||||||
|
secretName: kueueviz-tls
|
||||||
|
{{- end}}
|
||||||
@@ -5,7 +5,6 @@ metadata:
|
|||||||
name: kueue
|
name: kueue
|
||||||
namespace: argocd
|
namespace: argocd
|
||||||
annotations:
|
annotations:
|
||||||
argocd.argoproj.io/sync-wave: "1"
|
|
||||||
argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true
|
argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true
|
||||||
argocd.argoproj.io/compare-options: ServerSideDiff=true
|
argocd.argoproj.io/compare-options: ServerSideDiff=true
|
||||||
finalizers:
|
finalizers:
|
||||||
@@ -28,7 +27,7 @@ spec:
|
|||||||
value: {{ .Values.kueue.env }}
|
value: {{ .Values.kueue.env }}
|
||||||
- name: HELMFILE_FILE_PATH
|
- name: HELMFILE_FILE_PATH
|
||||||
value: kueue.yaml.gotmpl
|
value: kueue.yaml.gotmpl
|
||||||
- repoURL: {{ .Values.clusterConfig.manifests }}
|
- repoURL: https://gitlab.com/oceanbox/manifests.git
|
||||||
targetRevision: main
|
targetRevision: main
|
||||||
ref: values
|
ref: values
|
||||||
syncPolicy:
|
syncPolicy:
|
||||||
@@ -42,3 +41,4 @@ spec:
|
|||||||
selfHeal: false
|
selfHeal: false
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
|
|||||||
@@ -1,117 +0,0 @@
|
|||||||
# Cross-namespace RBAC: allow sorcerer ServiceAccounts to manage JobSets in dev-queue
|
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
|
||||||
kind: Role
|
|
||||||
metadata:
|
|
||||||
name: beta-sorcerer-prod-queue
|
|
||||||
namespace: prod-queue
|
|
||||||
rules:
|
|
||||||
- apiGroups:
|
|
||||||
- jobset.x-k8s.io
|
|
||||||
resources:
|
|
||||||
- jobsets
|
|
||||||
verbs:
|
|
||||||
- create
|
|
||||||
- delete
|
|
||||||
- get
|
|
||||||
- list
|
|
||||||
- watch
|
|
||||||
- apiGroups:
|
|
||||||
- ""
|
|
||||||
resources:
|
|
||||||
- pods
|
|
||||||
- pods/log
|
|
||||||
verbs:
|
|
||||||
- get
|
|
||||||
- list
|
|
||||||
---
|
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
|
||||||
kind: RoleBinding
|
|
||||||
metadata:
|
|
||||||
name: beta-sorcerer-prod-queue
|
|
||||||
namespace: prod-queue
|
|
||||||
roleRef:
|
|
||||||
apiGroup: rbac.authorization.k8s.io
|
|
||||||
kind: Role
|
|
||||||
name: beta-sorcerer-prod-queue
|
|
||||||
subjects:
|
|
||||||
- kind: ServiceAccount
|
|
||||||
name: beta-sorcerer
|
|
||||||
namespace: beta-sorcerer
|
|
||||||
---
|
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
|
||||||
kind: Role
|
|
||||||
metadata:
|
|
||||||
name: prod-sorcerer-prod-queue
|
|
||||||
namespace: prod-queue
|
|
||||||
rules:
|
|
||||||
- apiGroups:
|
|
||||||
- jobset.x-k8s.io
|
|
||||||
resources:
|
|
||||||
- jobsets
|
|
||||||
verbs:
|
|
||||||
- create
|
|
||||||
- delete
|
|
||||||
- get
|
|
||||||
- list
|
|
||||||
- watch
|
|
||||||
- apiGroups:
|
|
||||||
- ""
|
|
||||||
resources:
|
|
||||||
- pods
|
|
||||||
- pods/log
|
|
||||||
verbs:
|
|
||||||
- get
|
|
||||||
- list
|
|
||||||
---
|
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
|
||||||
kind: RoleBinding
|
|
||||||
metadata:
|
|
||||||
name: prod-sorcerer-prod-queue
|
|
||||||
namespace: prod-queue
|
|
||||||
roleRef:
|
|
||||||
apiGroup: rbac.authorization.k8s.io
|
|
||||||
kind: Role
|
|
||||||
name: prod-sorcerer-prod-queue
|
|
||||||
subjects:
|
|
||||||
- kind: ServiceAccount
|
|
||||||
name: prod-sorcerer
|
|
||||||
namespace: prod-sorcerer
|
|
||||||
---
|
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
|
||||||
kind: Role
|
|
||||||
metadata:
|
|
||||||
name: staging-sorcerer-dev-queue
|
|
||||||
namespace: dev-queue
|
|
||||||
rules:
|
|
||||||
- apiGroups:
|
|
||||||
- jobset.x-k8s.io
|
|
||||||
resources:
|
|
||||||
- jobsets
|
|
||||||
verbs:
|
|
||||||
- create
|
|
||||||
- delete
|
|
||||||
- get
|
|
||||||
- list
|
|
||||||
- watch
|
|
||||||
- apiGroups:
|
|
||||||
- ""
|
|
||||||
resources:
|
|
||||||
- pods
|
|
||||||
- pods/log
|
|
||||||
verbs:
|
|
||||||
- get
|
|
||||||
- list
|
|
||||||
---
|
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
|
||||||
kind: RoleBinding
|
|
||||||
metadata:
|
|
||||||
name: staging-sorcerer-dev-queue
|
|
||||||
namespace: dev-queue
|
|
||||||
roleRef:
|
|
||||||
apiGroup: rbac.authorization.k8s.io
|
|
||||||
kind: Role
|
|
||||||
name: staging-sorcerer-dev-queue
|
|
||||||
subjects:
|
|
||||||
- kind: ServiceAccount
|
|
||||||
name: staging-sorcerer
|
|
||||||
namespace: staging-sorcerer
|
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
kueueViz:
|
||||||
|
backend:
|
||||||
|
env:
|
||||||
|
- name: KUEUEVIZ_ALLOWED_ORIGINS
|
||||||
|
value: "https://kueue.dev.tos.obx"
|
||||||
|
frontend:
|
||||||
|
env:
|
||||||
|
- name: REACT_APP_WEBSOCKET_URL
|
||||||
|
value: "wss://kueue.dev.tos.obx"
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
kueueViz:
|
||||||
|
backend:
|
||||||
|
env:
|
||||||
|
- name: KUEUEVIZ_ALLOWED_ORIGINS
|
||||||
|
value: "https://kueue.dev.vtn.obx"
|
||||||
|
frontend:
|
||||||
|
env:
|
||||||
|
- name: REACT_APP_WEBSOCKET_URL
|
||||||
|
value: "wss://kueue.dev.vtn.obx"
|
||||||
@@ -1,14 +1,21 @@
|
|||||||
managerConfig:
|
controllerManager:
|
||||||
controllerManagerConfigYaml: |
|
featureGates:
|
||||||
apiVersion: config.kueue.x-k8s.io/v1beta2
|
- name: TopologyAwareScheduling
|
||||||
kind: Configuration
|
enabled: true
|
||||||
integrations:
|
- name: LocalQueueMetrics
|
||||||
frameworks:
|
enabled: true
|
||||||
- batch/job
|
managerConfig:
|
||||||
- jobset.x-k8s.io/jobset
|
controllerManagerConfigYaml: |
|
||||||
internalCertManagement:
|
apiVersion: config.kueue.x-k8s.io/v1beta1
|
||||||
enable: false
|
kind: Configuration
|
||||||
enableCertManager: true
|
integrations:
|
||||||
|
frameworks:
|
||||||
|
- batch/job
|
||||||
|
- jobset.x-k8s.io/jobset
|
||||||
|
internalCertManagement:
|
||||||
|
enable: false
|
||||||
|
enableCertManager: false
|
||||||
enablePrometheus: true
|
enablePrometheus: true
|
||||||
metrics:
|
metrics:
|
||||||
prometheusNamespace: prometheus
|
prometheusNamespace: prometheus
|
||||||
|
enableKueueViz: true
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user