github.com/wmuizelaar/kpt@v0.0.0-20221018115725-bd564717b2ed/package-examples/ghost/README.md (about)

     1  ### Ghost Application
     2  
     3  "Ghost is a powerful app for new-media creators to publish, share, and grow a business around their content. It comes with modern tools to build a website, publish content, send newsletters & offer paid subscriptions to members."
     4  https://ghost.org/
     5  
     6  ### Quick start
     7  
     8  #### Get KPT Pacakge
     9  ```bash
    10  export NAMESPACE=<YOUR NAMESPACE>
    11  # make sure the namespace is correct and exists. Otherwise, create the namespace
    12  kubectl create namespace ${NAMESPACE}
    13  
    14  # You get this Ghost package by running
    15  kpt pkg get https://github.com/GoogleContainerTools/kpt.git/package-examples/ghost@main ${NAMESPACE} --for-deployment
    16  ```
    17  
    18  #### Update the KRM resources to your own data
    19  
    20  Updating the KRM resources are easy with variant constructor
    21  ```bash
    22  kpt fn render ${NAMESPACE}
    23  ```
    24  
    25  #### Deploy the KRM resources to your cluster
    26  
    27  ```bash
    28  # Initialize inventory info. You only need to run this if do not have resourcesgroup.yaml
    29  kpt live init ${NAMESPACE}
    30  
    31  kpt live apply ${NAMESPACE}
    32  ```
    33  
    34  You need to manually update the Ghost Host IP after deployment.
    35  ```bash
    36  # Get external IP from Service
    37  kubectl get -n ${NAMESPACE} service/ghost-app -ojsonpath='{.status.loadBalancer.ingress[].ip}'
    38  ```
    39  Use this IP to replace the "EXTERNAL_IP_FROM_SERVICE" value in `ghost/deployment-ghost.yaml`
    40  
    41  Re-apply the new deployment.
    42  ```bash
    43  kpt live apply
    44  ```