Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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
57 changes: 0 additions & 57 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -74,63 +74,6 @@ jobs:
run: npm ci
- name: Attempt a build
run: npm run build:ocp
build-containers:
name: Build containers
runs-on: ubuntu-latest
strategy:
matrix:
os: [el9, el10]
variant: [standalone, ocp]
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 22.x

- name: Install dependencies
run: npm ci

- name: Determine Containerfile
id: containerfile
run: |
if [[ "${{ matrix.variant }}" == "standalone" ]]; then
echo "file=packaging/images/${{ matrix.os }}/Containerfile" >> $GITHUB_OUTPUT
else
echo "file=packaging/images/${{ matrix.os }}/Containerfile.ocp" >> $GITHUB_OUTPUT
fi

- name: Build container (${{ matrix.os }} ${{ matrix.variant }})
run: |
echo "Building ${{ matrix.variant }} UI container for ${{ matrix.os }}..."
podman build -f ${{ steps.containerfile.outputs.file }} -t test-ui:${{ matrix.os }}-${{ matrix.variant }} .
echo "✓ Successfully built ${{ matrix.os }} ${{ matrix.variant }} container"

- name: Verify container - help command
id: verify-help
run: |
echo "Testing help command..."
if timeout 30s podman run --rm test-ui:${{ matrix.os }}-${{ matrix.variant }} ./flightctl-ui --help; then
echo "Help command successful"
echo "passed=true" >> $GITHUB_OUTPUT
else
echo "Help command failed"
echo "passed=false" >> $GITHUB_OUTPUT
fi

- name: Verify container - binary exists
if: steps.verify-help.outputs.passed != 'true'
run: |
echo "Help command failed, checking if binary exists..."
if timeout 30s podman run --rm test-ui:${{ matrix.os }}-${{ matrix.variant }} ls -la /app/proxy/flightctl-ui; then
echo "Binary exists but help command failed"
else
echo "Binary missing"
exit 1
fi

integration-tests:
needs: preflight-check
if: needs.preflight-check.outputs.skip == 'false'
Expand Down
26 changes: 4 additions & 22 deletions .github/workflows/push-to-main.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -46,23 +46,14 @@ jobs:
publish-flightctl-ui:
runs-on: ubuntu-latest
needs: [generate-tags]
strategy:
matrix:
os: [el9, el10]
steps:
- uses: actions/checkout@v4

- name: Generate OS-specific image name
id: os-image
run: |
echo "image_name=${{ env.QUAY_STANDALONE_REPO }}-${{ matrix.os }}" >> $GITHUB_OUTPUT
echo "Generated image name: ${{ env.QUAY_STANDALONE_REPO }}-${{ matrix.os }}"

- name: Build
id: build
uses: redhat-actions/buildah-build@v2
with:
image: ${{ steps.os-image.outputs.image_name }}
image: ${{ env.QUAY_STANDALONE_REPO }}
tags: ${{ needs.generate-tags.outputs.image_tags }}
labels: |
org.flightctl.flightctl-ui.github.repository=${{ github.repository }}
Expand All @@ -72,7 +63,7 @@ jobs:
org.flightctl.flightctl-ui.github.ref_name=${{ github.ref_name }}
extra-args: |
--ulimit nofile=10000:10000
containerfiles: packaging/images/${{ matrix.os }}/Containerfile
containerfiles: Containerfile
context: .

- name: Validate FIPS
Expand All @@ -95,23 +86,14 @@ jobs:
publish-flightctl-ocp-ui:
runs-on: ubuntu-latest
needs: [generate-tags]
strategy:
matrix:
os: [el9, el10]
steps:
- uses: actions/checkout@v4

- name: Generate OS-specific image name
id: os-image
run: |
echo "image_name=${{ env.QUAY_OCP_REPO }}-${{ matrix.os }}" >> $GITHUB_OUTPUT
echo "Generated image name: ${{ env.QUAY_OCP_REPO }}-${{ matrix.os }}"

- name: Build
id: build
uses: redhat-actions/buildah-build@v2
with:
image: ${{ steps.os-image.outputs.image_name }}
image: ${{ env.QUAY_OCP_REPO }}
tags: ${{ needs.generate-tags.outputs.image_tags }}
labels: |
org.flightctl.flightctl-ui.github.repository=${{ github.repository }}
Expand All @@ -121,7 +103,7 @@ jobs:
org.flightctl.flightctl-ui.github.ref_name=${{ github.ref_name }}
extra-args: |
--ulimit nofile=10000:10000
containerfiles: packaging/images/${{ matrix.os }}/Containerfile.ocp
containerfiles: Containerfile.ocp
context: .

- name: Validate FIPS
Expand Down
2 changes: 1 addition & 1 deletion packaging/images/el9/Containerfile → Containerfile
Original file line number Diff line number Diff line change
Expand Up @@ -30,4 +30,4 @@ LABEL \
name="flightctl-ui" \
summary="Flight Control User Interface Service"
EXPOSE 8080
CMD ["./flightctl-ui"]
CMD ["./flightctl-ui"]
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,4 @@ LABEL \
name="flightctl-ui-ocp" \
summary="Flight Control User Interface Service for OCP Integration"
EXPOSE 8080
CMD ["./flightctl-ui"]
CMD ["./flightctl-ui"]
84 changes: 0 additions & 84 deletions Makefile

This file was deleted.

35 changes: 1 addition & 34 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,47 +8,14 @@ Monorepo containing UIs for [Flight Control](https://github.com/flightctl/flight

## Building

### JavaScript/TypeScript Applications

Checkout the repository and run:
### Checkout the repository and run

```shell
cd flightctl-ui
npm ci
npm run build
```

### Container Images (EDM-3308: EL9/EL10 Support)

The UI supports building containers for both Enterprise Linux 9 and 10. Containerfiles are organized by OS in a directory structure similar to the main FlightCtl repository:

```text
packaging/images/el9/Containerfile # EL9 standalone UI
packaging/images/el9/Containerfile.ocp # EL9 OCP plugin UI
packaging/images/el10/Containerfile # EL10 standalone UI
packaging/images/el10/Containerfile.ocp # EL10 OCP plugin UI
```

Use the provided Makefile:

```shell
# Build for specific OS (default: el9)
make build-ui OS=el9 # Standalone UI for EL9
make build-ui OS=el10 # Standalone UI for EL10
make build-ocp-ui OS=el9 # OCP Plugin UI for EL9
make build-ocp-ui OS=el10 # OCP Plugin UI for EL10

# Build all variants
make build-all

# Show available targets
make help
```

Built images will use OS-qualified names:
- `localhost/flightctl-ui-el9:latest` and `localhost/flightctl-ocp-ui-el9:latest`
- `localhost/flightctl-ui-el10:latest` and `localhost/flightctl-ocp-ui-el10:latest`

### Running Standalone UI with backend running in Kind

If backend is running in your Kind cluster, use the following command to start the UI application.
Expand Down
33 changes: 0 additions & 33 deletions packaging/images/el10/Containerfile

This file was deleted.

35 changes: 0 additions & 35 deletions packaging/images/el10/Containerfile.ocp

This file was deleted.

Loading