Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/pr_pre-commit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
with:
persist-credentials: false
fetch-depth: 0
- uses: stackabletech/actions/run-pre-commit@9848c5593dff4793aacba240116a648c02f20fa4 # v0.13.1
- uses: stackabletech/actions/run-pre-commit@ac6f1d3b87f68826b9a5838d13864ef8e88dcf40 # v0.14.0
with:
python-version: ${{ env.PYTHON_VERSION }}
hadolint: ${{ env.HADOLINT_VERSION }}
14 changes: 7 additions & 7 deletions template/.github/workflows/build.yaml.j2
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ jobs:

- name: Check for changed files
id: check
uses: stackabletech/actions/detect-changes@9848c5593dff4793aacba240116a648c02f20fa4 # v0.13.1
uses: stackabletech/actions/detect-changes@ac6f1d3b87f68826b9a5838d13864ef8e88dcf40 # v0.14.0
with:
patterns: |
- '.github/workflows/build.yaml'
Expand Down Expand Up @@ -166,7 +166,7 @@ jobs:

- name: Build Container Image
id: build
uses: stackabletech/actions/build-container-image@9848c5593dff4793aacba240116a648c02f20fa4 # v0.13.1
uses: stackabletech/actions/build-container-image@ac6f1d3b87f68826b9a5838d13864ef8e88dcf40 # v0.14.0
with:
image-name: ${{ env.OPERATOR_NAME }}
image-index-manifest-tag: ${{ steps.version.outputs.OPERATOR_VERSION }}
Expand All @@ -175,7 +175,7 @@ jobs:

- name: Publish Container Image
if: ${{ !github.event.pull_request.head.repo.fork }}
uses: stackabletech/actions/publish-image@9848c5593dff4793aacba240116a648c02f20fa4 # v0.13.1
uses: stackabletech/actions/publish-image@ac6f1d3b87f68826b9a5838d13864ef8e88dcf40 # v0.14.0
with:
image-registry-uri: oci.stackable.tech
image-registry-username: robot$sdp+github-action-build
Expand Down Expand Up @@ -203,7 +203,7 @@ jobs:
persist-credentials: false

- name: Publish and Sign Image Index
uses: stackabletech/actions/publish-image-index-manifest@9848c5593dff4793aacba240116a648c02f20fa4 # v0.13.1
uses: stackabletech/actions/publish-image-index-manifest@ac6f1d3b87f68826b9a5838d13864ef8e88dcf40 # v0.14.0
with:
image-registry-uri: oci.stackable.tech
image-registry-username: robot$sdp+github-action-build
Expand All @@ -230,7 +230,7 @@ jobs:
submodules: recursive

- name: Package, Publish, and Sign Helm Chart
uses: stackabletech/actions/publish-helm-chart@9848c5593dff4793aacba240116a648c02f20fa4 # v0.13.1
uses: stackabletech/actions/publish-helm-chart@ac6f1d3b87f68826b9a5838d13864ef8e88dcf40 # v0.14.0
with:
chart-registry-uri: oci.stackable.tech
chart-registry-username: robot$sdp-charts+github-action-build
Expand Down Expand Up @@ -260,7 +260,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Run OpenShift Preflight Check
uses: stackabletech/actions/run-openshift-preflight@9848c5593dff4793aacba240116a648c02f20fa4 # v0.13.1
uses: stackabletech/actions/run-openshift-preflight@ac6f1d3b87f68826b9a5838d13864ef8e88dcf40 # v0.14.0
with:
image-index-uri: oci.stackable.tech/sdp/${{ env.OPERATOR_NAME }}:${{ needs.build-container-image.outputs.operator-version }}
image-architecture: ${{ matrix.arch }}
Expand Down Expand Up @@ -300,7 +300,7 @@ jobs:
persist-credentials: false

- name: Send Notification
uses: stackabletech/actions/send-slack-notification@9848c5593dff4793aacba240116a648c02f20fa4 # v0.13.1
uses: stackabletech/actions/send-slack-notification@ac6f1d3b87f68826b9a5838d13864ef8e88dcf40 # v0.14.0
with:
publish-helm-chart-result: ${{ needs.publish-helm-chart.result }}
publish-manifests-result: ${{ needs.publish-index-manifest.result }}
Expand Down
4 changes: 2 additions & 2 deletions template/.github/workflows/integration-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ jobs:
# TODO: Enable the scheduled runs which hard-code what profile to use
- name: Run Integration Test
id: test
uses: stackabletech/actions/run-integration-test@9848c5593dff4793aacba240116a648c02f20fa4 # v0.13.1
uses: stackabletech/actions/run-integration-test@ac6f1d3b87f68826b9a5838d13864ef8e88dcf40 # v0.14.0
with:
replicated-api-token: ${{ secrets.REPLICATED_API_TOKEN }}
test-mode-input: ${{ inputs.test-mode-input }}
Expand All @@ -51,7 +51,7 @@ jobs:

- name: Send Notification
if: ${{ failure() || github.run_attempt > 1 }}
uses: stackabletech/actions/send-slack-notification@9848c5593dff4793aacba240116a648c02f20fa4 # v0.13.1
uses: stackabletech/actions/send-slack-notification@ac6f1d3b87f68826b9a5838d13864ef8e88dcf40 # v0.14.0
with:
slack-token: ${{ secrets.SLACK_INTEGRATION_TEST_TOKEN }}
failed-tests: ${{ steps.test.outputs.failed-tests }}
Expand Down
2 changes: 1 addition & 1 deletion template/.github/workflows/pr_pre-commit.yaml.j2
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
persist-credentials: false
submodules: recursive
fetch-depth: 0
- uses: stackabletech/actions/run-pre-commit@9848c5593dff4793aacba240116a648c02f20fa4 # v0.13.1
- uses: stackabletech/actions/run-pre-commit@ac6f1d3b87f68826b9a5838d13864ef8e88dcf40 # v0.14.0
with:
python-version: ${{ env.PYTHON_VERSION }}
rust: ${{ env.RUST_TOOLCHAIN_VERSION }}
Expand Down
6 changes: 6 additions & 0 deletions template/Makefile.j2
Original file line number Diff line number Diff line change
Expand Up @@ -76,3 +76,9 @@ run-dev: check-nix check-kubernetes

stop-dev: check-nix check-kubernetes
nix run --extra-experimental-features "nix-command flakes" -f. tilt -- down

helm-install:
helm install \
--values deploy/helm/airflow-operator/values.yaml \
--values deploy/helm/airflow-operator/values/$(OCI_REGISTRY_HOSTNAME).yaml \
Comment thread
Techassi marked this conversation as resolved.
Outdated
airflow-operator deploy/helm/airflow-operator
18 changes: 11 additions & 7 deletions template/Tiltfile
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
# Load the metadata first, so that we immediately get access to the operator name
meta = read_json('nix/meta.json')
operator_name = meta['operator']['name']

# If tilt_options.json exists read it and load the default_registry value from it
settings = read_json('tilt_options.json', default={})
registry = settings.get('default_registry', 'oci.stackable.tech/sandbox')
registry = settings.get('default_registry', 'oci.stackable.tech')
repository = settings.get('default_repository', 'sandbox' + '/' + operator_name)

# Configure default registry either read from config file above, or with default value of "oci.stackable.tech/sandbox"
default_registry(registry)

meta = read_json('nix/meta.json')
operator_name = meta['operator']['name']

custom_build(
registry + '/' + operator_name,
'make regenerate-nix && nix-build . -A docker --argstr dockerName "${EXPECTED_REGISTRY}/' + operator_name + '" && ./result/load-image | docker load',
registry + '/' + repository,
'make regenerate-nix && nix-build . -A docker --argstr dockerName "${EXPECTED_REGISTRY}/' + repository + '" && ./result/load-image | docker load',
deps=['rust', 'Cargo.toml', 'Cargo.lock', 'default.nix', "nix", 'build.rs', 'vendor'],
ignore=['*.~undo-tree~'],
# ignore=['result*', 'Cargo.nix', 'target', *.yaml],
Expand All @@ -28,13 +30,15 @@ k8s_kind('DaemonSet', image_json_path='{.spec.template.metadata.annotations.inte
# supported by helm(set).
helm_values = settings.get('helm_values', None)

helm_override_image_repository = 'image.repository=' + registry + '/' + operator_name
helm_override_image_registry = 'image.registry=' + registry
helm_override_image_repository = 'image.repository=' + repository

k8s_yaml(helm(
'deploy/helm/' + operator_name,
name=operator_name,
namespace="stackable-operators",
set=[
helm_override_image_registry,
helm_override_image_repository,
],
values=helm_values,
Expand Down
4 changes: 4 additions & 0 deletions template/deploy/helm/[[operator]]/.helmignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
# Ignore the file itself
.helmignore
.DS_Store
# Common VCS dirs
.git/
Expand All @@ -26,3 +28,5 @@
.idea/
*.tmproj
.vscode/
# Partial, unmerged, registry-specific values files
values/
7 changes: 7 additions & 0 deletions template/deploy/helm/[[operator]]/templates/_helpers.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -77,3 +77,10 @@ Labels for Kubernetes objects created by helm test
{{- define "operator.testLabels" -}}
helm.sh/test: {{ include "operator.chart" . }}
{{- end }}

{{/*
Build the full container image reference.
*/}}
{{- define "operator.image" -}}
{{- printf "%s/%s:%s" .Values.image.registry .Values.image.repository (.Values.image.tag | default .Chart.AppVersion) -}}
{{- end }}
13 changes: 11 additions & 2 deletions template/deploy/helm/[[operator]]/templates/deployment.yaml.j2
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ spec:
template:
metadata:
annotations:
internal.stackable.tech/image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
internal.stackable.tech/image: {{ include "operator.image" . }}
checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
{{- with .Values.podAnnotations }}
{{- toYaml . | nindent 8 }}
Expand All @@ -38,7 +38,7 @@ spec:
- name: {{ include "operator.appname" . }}
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
image: {{ include "operator.image" . }}
imagePullPolicy: {{ .Values.image.pullPolicy }}
resources:
{{- toYaml .Values.resources | nindent 12 }}
Expand Down Expand Up @@ -71,6 +71,15 @@ spec:
- name: OPERATOR_SERVICE_NAME
value: {{ include "operator.fullname" . }}

# The URI of the image registry, like "oci.stackable.tech". Used to derive product image
# name.
- name: IMAGE_REGISTRY_URI
value: {{ .Values.image.registry }}

# The image repository, like "sdp/airflow-operator"
- name: IMAGE_REPOSITORY
value: {{ .Values.image.repository }}

# Operators need to know the node name they are running on, to e.g. discover the
# Kubernetes domain name from the kubelet API.
- name: KUBERNETES_NODE_NAME
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
# Values overlay for chart packages published to oci.stackable.tech.
image:
registry: oci.stackable.tech
repository: sdp/airflow-operator
Comment thread
Techassi marked this conversation as resolved.
Outdated