Giter VIP home page Giter VIP logo

acs-fleet-manager's Introduction

ACS Fleet Manager

Dinosaur counter

ACS fleet-manager repository for the ACS managed service.

Quickstart

Overview

├── bin                 -- binary output directory  
├── cmd                 -- cmd entry points
├── config              -- various fleet-manager configurations
├── dashboards          -- grafana dashboards
├── docs                -- documentation
├── docker              -- docker images
├── dp-terraform        -- terraforming scripts for data-plane clusters
├── e2e                 -- e2e tests
├── fleetshard          -- source code for fleetshard-synchronizer
├── internal            -- internal source code
├── openapi             -- openapi specification
├── pkg                 -- pkg code
├── scripts             -- development and test scripts
├── secrets             -- secrets which are mounted to the fleet-manager
├── templates           -- fleet-manager openshift deployment templates
└── test                -- test mock servers

Getting started

Prerequisites

  • A running kubernetes cluster
  • Setting up configurations described here

Getting started

To run fleet-manager in different ways (i.e. with docker) please refer to running-fleet-manager.md.

# Export the kubeconfig path the central instance should be deployed to
$ export KUBECONFIG=/your/kubeconfig

# Sets up database, starts fleet-manager
$ make setup-dev-env

# Start fleetshard-sync
$ OCM_TOKEN=$(ocm token --refresh) CLUSTER_ID=1234567890abcdef1234567890abcdef ./fleetshard-sync

# To create a central instance
$ ./scripts/create-central.sh

# To interact with the API use
$ ./scripts/fmcurl
Prepare a cluster for the local environment

You can run ACS Fleet Manager on a local k8s cluster (colima, rancher, minikube). This requires some preparations on a cluster:

  1. Install ACS Operator The process is described in operator documentation
  2. Deploy OpenShift Router
    make deploy/openshift-router
    
    Use make undeploy/openshift-router to undeploy the OpenShift router from a cluster. Refer to the router repo for more information.
  3. For accessing the hostnames exposed by routes locally read the documentation here

Common make targets

# Install git-hooks, for more information see git-hooks.md [1]
$ make setup/git/hooks

# To generate code and compile binaries run
$ make all

# To only compile fleet-manager and fleetshard-synchronizer run
$ make binary

# Run API docs server
$ make run/docs

# Generate code such as openapi
$ make generate

# Testing related targets
$ make test
$ make test/e2e
$ make test/integration

# Fleet-manager database related make targets
$ make db/teardown
$ make db/setup
$ make db/migrate

[1] git-hooks.md

Background

This project was started from a fleet-manager template with an example "Dinosaur" application as a managed service. Implementations which reference "Dinosaur" are replaced iteratively.

For a real service written using the same fleet management pattern see the kas-fleet-manager. Original fleet-manager template.

To contact the people that created this template go to zulip.

Additional documentation

Contributing

See the contributing guide for general guidelines on how to contribute back to the template.

acs-fleet-manager's People

Contributors

0x656b694d avatar dependabot[bot] avatar dhaus67 avatar ebensh avatar ivan-degtiarenko avatar johannes94 avatar kovayur avatar kurlov avatar misberner avatar mtesseract avatar mtodor avatar openshift-ci[bot] avatar patjlm avatar porridge avatar rukletsov avatar simonbaeumer avatar stehessel avatar vladbologa avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.