- Delete rollout-restart.sh as it was just a simple oc command - Update README.md to show direct oc rollout restart command - Simplify workflow: git push -> GitHub Actions -> oc rollout restart - Keep only essential scripts: deploy-complete.sh, build-and-push.sh, undeploy-complete.sh
95 lines
2.7 KiB
Markdown
95 lines
2.7 KiB
Markdown
# OpenShift Resource Governance Tool - Scripts
|
|
|
|
## Overview
|
|
This directory contains scripts for building, deploying, and updating the OpenShift Resource Governance Tool.
|
|
|
|
## Scripts
|
|
|
|
### 1. `deploy-complete.sh` - Initial Deployment
|
|
**Purpose**: Complete deployment from scratch
|
|
**When to use**: First time deployment or when you need to recreate everything
|
|
|
|
**What it does**:
|
|
- Creates namespace
|
|
- Applies RBAC (ServiceAccount, ClusterRole, ClusterRoleBinding)
|
|
- Applies ConfigMap
|
|
- Creates ServiceAccount token secret
|
|
- Deploys application
|
|
- Creates Service and Route
|
|
- Configures TLS
|
|
|
|
**Usage**:
|
|
```bash
|
|
./scripts/deploy-complete.sh
|
|
```
|
|
|
|
### 2. Updates (Recommended)
|
|
**Purpose**: Update existing deployment with new image
|
|
**When to use**: After code changes and GitHub Actions has built new image
|
|
|
|
**Simple command**:
|
|
```bash
|
|
oc rollout restart deployment/resource-governance -n resource-governance
|
|
```
|
|
|
|
**With status check**:
|
|
```bash
|
|
oc rollout restart deployment/resource-governance -n resource-governance
|
|
oc rollout status deployment/resource-governance -n resource-governance
|
|
```
|
|
|
|
### 2. `build-and-push.sh` - Manual Build
|
|
**Purpose**: Build and push image manually (when GitHub Actions is not available)
|
|
**When to use**: Manual builds or when GitHub Actions is not working
|
|
|
|
**What it does**:
|
|
- Builds container image with Podman
|
|
- Tests image
|
|
- Pushes to Quay.io registry
|
|
|
|
**Usage**:
|
|
```bash
|
|
# Login to Quay.io first
|
|
podman login quay.io
|
|
|
|
# Then build and push
|
|
./scripts/build-and-push.sh
|
|
```
|
|
|
|
### 3. `undeploy-complete.sh` - Cleanup
|
|
**Purpose**: Remove all resources
|
|
**When to use**: When you want to completely remove the application
|
|
|
|
**Usage**:
|
|
```bash
|
|
echo 'yes' | ./scripts/undeploy-complete.sh
|
|
```
|
|
|
|
## Recommended Workflow
|
|
|
|
### For Development Updates (Most Common):
|
|
1. Make code changes
|
|
2. `git add . && git commit -m "Your changes" && git push`
|
|
3. Wait for GitHub Actions to build new image
|
|
4. `oc rollout restart deployment/resource-governance -n resource-governance`
|
|
|
|
### For Initial Deployment:
|
|
1. `./scripts/deploy-complete.sh`
|
|
|
|
### For Manual Build (if needed):
|
|
1. `podman login quay.io`
|
|
2. `./scripts/build-and-push.sh`
|
|
3. `oc rollout restart deployment/resource-governance -n resource-governance`
|
|
|
|
## Security Notes
|
|
|
|
- **No hardcoded credentials**: All scripts require manual login to Quay.io
|
|
- **Common functions**: Shared code is in `common.sh` to avoid duplication
|
|
- **Error handling**: All scripts have proper error checking and validation
|
|
|
|
## Troubleshooting
|
|
|
|
- **Not connected to cluster**: Run `oc login` first
|
|
- **Deployment not found**: Run `./scripts/deploy-complete.sh` first
|
|
- **Image not found**: Ensure GitHub Actions completed successfully or run `./scripts/build-and-push.sh`
|